我从java类中打开了端口#5955,以便从客户端进行通信。我怎么关闭这个端口后,我做了?还有哪个命令可以显示我如果端口打开或关闭?
当前回答
当打开端口的程序退出时,端口将自动关闭。如果您终止了运行此服务器的Java进程,那么应该就可以了。
其他回答
使用命令查找进程ID
lsof -n -i4TCP:8080
在获得processId之后
sudo kill -9 processID
然后提供您的系统密码。
这似乎对我有用。只需将your_port_number更改为您想要停止的端口号。
sudo lsof -t -i tcp:your_port_number | xargs kill -9
无论您如何打开端口,您都可以以相同的方式关闭它。例如,如果您创建了一个套接字,将其绑定到端口0.0.0.0:5955,并调用listen,关闭该套接字。
您也可以直接终止打开端口的进程。
如果你想知道哪个进程打开了一个端口,试试这个:
lsof -i :5955
如果你想知道端口是否打开,你可以执行同样的lsof命令(如果任何进程打开了端口,它就是打开的;否则,它不是),或者你可以尝试连接到它,例如:
nc localhost 5955
如果它立即返回而没有输出,则端口没有打开。
值得一提的是,从技术上讲,它不是一个开放的端口,而是一个主机:端口组合。例如,如果您以10.0.1.2的身份插入LAN,则可以将套接字绑定到127.0.0.1:5955或10.0.1.2:5955,其中任何一个都不会影响另一个,或者可以绑定到0.0.0.0:5955以同时处理两个套接字。您可以使用ifconfig命令查看您计算机的所有IPv4和IPv6地址。
简单的一行程序
现在有一种比其他命令(没有Sudo、包或多行)更直接的命令。 要终止端口8080,只需调用:
LSOF -TI TCP:8080 |Xargs Kill
首先找出占用了所需端口的进程id (pid)。g 5434) Ps aux | grep 5434
2.终止这个过程
kill -9 <pid>
推荐文章
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 我如何找到哪个程序正在使用端口80在Windows?
- “你有邮件”的消息在终端,os X
- Mac OS X中的环境变量
- 如何从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)(系统完整性保护)