前言
笔者今日在基于python做xml-rpc,在PC上测试好好的,但是上JetsonNano板子发现一个问题:运行服务端后,ctrl+z中断进程后,再运行服务端,突然报错了!英文翻译大意是 端口已被占用!
很多同学误吧ctrl+z理解为“结束进程”,实际上是“暂停进程”,所以看似程序退出了,端口并没有被回收。ctrl+c才是“结束进程”!
那么现在假设不知道怎么正确的“结束进程”,那么该怎么解除端口呢?(不重启)
强制杀死该端口进程
sudo fuser -k -n tcp {端口号}
例如:
sudo fuser -k -n tcp 8123
附上:根据PID关闭某个被占用的端口
netstat -tunlp | grep {端口号}
可以看到被占用的端口及进程号。但此时使用 kill 可能提示找不到进程
lsof -i:{端口号}
sudo kill -9 {PID}
简评
ctrl+c才是“结束进程”哦~