【linux指令】程序运行出现Address already in use怎么办?亲测有效!!!

在linux运行多线程的python程序,出现报错:Address already in use,一般是因为所需要的端口被其他线程占用了,所以需要先关闭这些线程。

解决办法(单个进程用1、3步,批量关闭用第4步)

1. 查询被占用的端口(15688换成自己的端口号):

netstat -apn  |  grep 15688

2. 查询使用该端口的用户(可选):

ps -ef | grep 15688

执行后显示的结果中,用户名字在开头。

3. 关闭进程(1072换成自己的pid),一般用正常方式就行(区别见附录):

正常关闭:

kill 1072

强制关闭 :

kill -9 1072

4. 批量关闭

有时候会遇到需要关闭多个某一类进程的情况,可以按照关键字批量关闭,如关键字为client,指令如下:
(1)先开管理员权限:

sudo -i

(2)按关键字查询

ps -ef | grep client

(3)按关键字批量关闭

ps -aux|grep "client"|awk '{print "kill -9 "$2}'|sh

附录:两种关闭方式的区别
使用 kill PID 可以向进程发送可以被捕获和处理的终止信号,给进程一个机会进行清理操作。而 kill -9 PID 发送的是强制终止信号,进程无法捕获或处理该信号,会立即被终止。

一般来说,建议先尝试使用 kill PID 发送默认的终止信号,只有在进程无响应或无法正常退出时,才使用 kill -9 PID 强制终止进程。这样可以避免未完成的操作和资源泄漏。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值