查看进程及结束进程命令
win和linux系统中查看并杀死进程
一、Windows下查看进程及结束进程命令
-
查看占用8080端口的进程号
netstat -aon | findstr “8080”
结果:TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 3500
可知,进程号为3500的进程占用了8080端口 -
可以使用命令 tasklist | findstr “3500”进一步查看3500进程的具体信息。
tasklist | findstr “3500”
结果:javaw.exe 3500 Console 0 28,792 K
可知3500进程为javaw.exe。 -
杀掉进程
taskkill /pid 3500 /F
二、linux下查看进程号并杀死进程
问题描述:
使用nohup &运行后台程序,命令如下:
nohup python server.py &
该命令可以保持程序后台运行(保证你的xshell断了但服务不会停)
但是在重新启动server.py的时候,服务器会提示端口被占用
这时需要先杀死之前的程序,再重新启动。
步骤:
-
查看进程号
使用 lsof -i:端口号查看进程号(当知道端口号的时候),比如查看1500端口的进程号:
lsof -i:1500
这个PID 79297就是进程号
-
当系统不支持lsof时,可以使用netstat
netstat -ntlp | grep [port(端口号)]
-
当不知道端口号,但是知道程序名称时,使用ps aux查看
ps -aux | grep server.py
注意:
不是S+的那一列对应的就是PID。
Sl那一列代表运行状态STAT,S表示中断?反正查了查我没懂。我理解的是S+代表你查询命令的临时进程号,而不是程序运行的进程号,一般S,Sl或者Sl+表示正在运行的程序。
另外,我发现使用ps aux的时候,为啥别人的USER显示名字,而我就显示515用户id?查了发现linux本身机制问题,当用户名称超过8个字符,系统会自动显示用户对应id。
-
杀死进程:
kill -9 PID (注意PID替换成自己查询到的PID代号,例如我上面查询到的是79297)
拓展:
根据PID可以查询进程名称,命令如下:
ll /proc/PID
这样就可以定位到该运行程序的路径
更多推荐
所有评论(0)