linux查看進程并殺死進程的方法:首先使用“ps -aux | grep 程序名稱”命令查看相關進程,獲取進程號PID;然后使用“kill -9 PID”命令即可殺死進程。
本教程操作環境:Red Hat Enterprise Linux 6.1系統、Dell G3電腦。
問題描述:
使用nohup &運行后臺程序,命令如下:
nohup?python?server.py?&
該命令可以保持程序后臺運行(保證你的xshell斷了但服務不會停)
但是在重新啟動server.py的時候,服務器會提示端口被占用
這時需要先殺死之前的程序,再重新啟動。
步驟:
1.查看進程,獲取進程號
1)使用 lsof -i:端口號查看進程號(當知道端口號的時候),比如查看1500端口的進程號:
lsof?-i:1500
這個PID 79297就是進程號
2)當系統不支持lsof時,可以使用netstat
netstat?-ntlp?|?grep?[port]
3)當不知道端口號,但是知道程序名稱時,使用ps aux查看
ps?-aux?|?grep?server.py
不是S+的那一列對應的就是PID。
Sl那一列代表運行狀態STAT,S表示中斷?反正查了查我沒懂。我理解的是S+代表你查詢命令的臨時進程號,而不是程序運行的進程號,一般S,Sl或者Sl+表示正在運行的程序。
(另外,我發現使用ps aux的時候,為啥別人的USER顯示名字,而我就顯示515用戶id?查了發現linux本身機制問題,當用戶名稱超過8個字符,系統會自動顯示用戶對應id。)
?
2. 干掉他
kill?-9?PID
備注:
1)根據PID可以查詢進程名稱,命令如下:
ll?/proc/PID
這樣就可以定位到該運行程序的路徑
相關推薦:《Linux視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦