基本用法:
進(jìn)入要運(yùn)行的py文件目錄前
nohup python -u test.py > test.log 2>&1 & //打印日志 nohup xxxx >/dev/null 2>&1 & //不打印日志
?
含義解釋:
nohup 不掛起的意思
python test.py python運(yùn)行test.py文件
-u 代表程序不啟用緩存,也就是把輸出直接放到log中,沒(méi)這個(gè)參數(shù)的話,log文件的生成會(huì)有延遲
test.log 將輸出日志保存到這個(gè)log中
2>1 2與>結(jié)合代表錯(cuò)誤重定向,而1則代表錯(cuò)誤重定向到一個(gè)文件1,而不代表標(biāo)準(zhǔn)輸出;
2>&1 換成2>&1,&與1結(jié)合就代表標(biāo)準(zhǔn)輸出了,就變成錯(cuò)誤重定向到標(biāo)準(zhǔn)輸出.
& 最后一個(gè)& ,代表該命令在后臺(tái)執(zhí)行
/dev/null :Linux下有一個(gè)特殊的文件/dev/null,它就像一個(gè)無(wú)底洞,所有重定向到它的信息都會(huì)消失得無(wú)影無(wú)蹤。這一點(diǎn)非常有用,當(dāng)我們不需要回顯程序的所有信息時(shí),就可以將輸出重定向到/dev/null。
回到shell之后不能直接關(guān)閉自己的終端,必須輸入exit來(lái)退出SSH才能保證該腳本會(huì)一直在后臺(tái)運(yùn)行
[1] 2880
代表進(jìn)程2880中運(yùn)行。
查看nohub命令下運(yùn)行的所有后臺(tái)進(jìn)程:
jobs
查看后臺(tái)運(yùn)行的所有進(jìn)程:
ps -aux
查看后臺(tái)運(yùn)行的所有python 進(jìn)程:
ps aux |grep python
或者
ps -ef | grep python
*刪除進(jìn)程
kill -9 [進(jìn)程id]
-9 的意思是強(qiáng)制刪除
本文摘自 :https://www.cnblogs.com/