在服務器上,為了退出終端,程序依然能夠運行,需要設置程序在后臺運行。
關鍵的命令:nohup
基本用法:
進入要運行的py文件目錄前
nohup python3 -u test.py > test.log 2>&1 &
含義解釋:
nohup 不掛起的意思
python test.py python運行test.py文件
-u 代表程序不啟用緩存,也就是把輸出直接放到log中,沒這個參數(shù)的話,log文件的生成會有延遲
>test.log 將輸出日志保存到這個log中
2>1 2與>結合代表錯誤重定向,而1則代表錯誤重定向到一個文件1,而不代表標準輸出;
2>&1 換成2>&1,&與1結合就代表標準輸出了,就變成錯誤重定向到標準輸出.
& 最后一個& ,代表該命令在后臺執(zhí)行
不啟用日志
nohup python3 -u test.py 1>/dev/null 2>&1 &
命令運行后會有提示,示例:
[1] 2880
代表進程2880中運行。
查看nohub命令下運行的所有后臺進程:
jobs
查看后臺運行的所有進程:
ps -aux
查看后臺運行的所有python 進程:
ps aux |grep python
或者
ps -ef | grep python
刪除進程
kill -9 [進程id]
-9 的意思是強制刪除