我从java类中打开了端口#5955,以便从客户端进行通信。我怎么关闭这个端口后,我做了?还有哪个命令可以显示我如果端口打开或关闭?
当前回答
简单的一行程序
现在有一种比其他命令(没有Sudo、包或多行)更直接的命令。 要终止端口8080,只需调用:
LSOF -TI TCP:8080 |Xargs Kill
其他回答
你也可以使用第一个命令来杀死一个拥有特定端口的进程:
sudo netstat -ap | grep :<port_number>
例如,这个进程持有8000 TCP端口,然后运行以下命令:
sudo netstat -ap | grep :8000
将输出与进程持有端口8000对应的行,例如:
tcp 0 0 *:8000 *:* LISTEN 4683/procHoldingPort
在本例中,procHoldingPort是打开端口的进程的名称,4683是它的pid, 8000(注意它是TCP)是它持有的端口号(您希望关闭该端口号)。
然后按照上面的例子杀死进程:
kill 4683
正如其他人在这里提到的,如果这不起作用(你可以尝试使用-9作为参数的kill):
kill -9 4683
同样,通常情况下,如果可以,最好避免发送SIGKILL(-9)。
EDIT
在2022年9月,这帮助了我的MacOS Monterey M1 Pro芯片:
sudo lsof -t -i tcp:yourPortNumber | sudo xargs kill
在2018年,我使用MacOS HighSierra的方法是这样的:
sudo lsof -nPi:你的端口号
然后:
sudo kill -9你的id
一行最好
kill -9 $(lsof -i:PORT -t) 2> /dev/null
例子: 在mac上,想清除9604端口。服从命令非常有效
kill -9 $(lsof -i:9604 -t) 2> /dev/null
这似乎对我有用。只需将your_port_number更改为您想要停止的端口号。
sudo lsof -t -i tcp:your_port_number | xargs kill -9
使用命令查找进程ID
lsof -n -i4TCP:8080
在获得processId之后
sudo kill -9 processID
然后提供您的系统密码。
推荐文章
- 如何从macOS完全卸载蟒蛇
- 有效地测试Linux上的端口是否打开?
- 如何配置Mac OS X术语,使git有颜色?
- 我如何确定文件编码在OS X?
- 使iTerm以与其他操作系统相同的方式翻译“元键”
- 错误:无法在ARM处理器上的Homebrew中安装英特尔默认前缀(/usr/local)
- 在Mac OS X上哪里安装Android SDK ?
- Mac/OS X上的/var/lib/docker在哪里
- Xcode构建失败“架构x86_64未定义的符号”
- 在OSX 10.11中安装Scrapy时,“OSError: [Errno 1]操作不允许”(El Capitan)(系统完整性保护)
- 如何在Mac OS X 10.6中使硬件发出哔哔声
- 从Cocoa应用程序执行一个终端命令
- Android Studio无法找到有效的Jvm(与MAC OS相关)
- NSRange从Swift Range?
- 如何在交互式Python中查看整个命令历史?