我从java类中打开了端口#5955,以便从客户端进行通信。我怎么关闭这个端口后,我做了?还有哪个命令可以显示我如果端口打开或关闭?
当前回答
简单的一行程序
现在有一种比其他命令(没有Sudo、包或多行)更直接的命令。 要终止端口8080,只需调用:
LSOF -TI TCP:8080 |Xargs Kill
其他回答
非常简单的找到端口5900:
sudo lsof -i :5900
然后考虑59553作为PID
sudo kill 59553
如上所述,我使用lsof和kill结合使用;但是编写了一个快速的bash脚本来自动化这个过程。
使用这个脚本,您可以在任何地方输入killport 3000,它将杀死端口3000上运行的所有进程。
https://github.com/xtrasimplicity/killport
一行最好
kill -9 $(lsof -i:PORT -t) 2> /dev/null
例子: 在mac上,想清除9604端口。服从命令非常有效
kill -9 $(lsof -i:9604 -t) 2> /dev/null
假设运行端口为8000,请尝试以下操作:
free-port() { kill "$(lsof -t -i :8000)"; }
我在这里找到了参考资料
无论您如何打开端口,您都可以以相同的方式关闭它。例如,如果您创建了一个套接字,将其绑定到端口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地址。
推荐文章
- 如何在交互式Python中查看整个命令历史?
- 无法启动IIS Express Web服务器,注册URL失败,访问被拒绝
- 在OSX中永久设置PATH环境变量
- 如何停止mysqld
- 如何从远程SSH会话发送数据到本地剪贴板
- SSH端口转发~/。ssh /配置文件?
- 我可以在/etc/hosts中映射主机名*和端口*吗?
- 如何修改Play执行run命令时使用的默认端口(9000)?
- 如何复制文件跨计算机使用SSH和MAC OS X终端
- Mac SQLite编辑器
- 在MacOS X上推荐用什么方式安装Node.js、nvm和npm ?
- 如何在Swift中删除视图的所有子视图?
- 如何在Mac OS Lion上从命令行启动MySQL服务器?
- 如何找到可用的端口?
- 警告用户/local/mysql/data目录不属于mysql用户