在python中使用nohup命令說明
nohup功能
nohup 是 no hang up 的縮寫,就是不掛斷的意思。
如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那么可以使用nohup命令,該命令可以在你退出帳戶/關閉終端之后繼續(xù)運行相應的進程。
實例操作
例如運行django項目
1.例如,進入項目目錄:
cd ding_month_1
2.運行下面程序:
nohup python ./manage.py runserver 0.0.0.0:8080&
3.此時,已經(jīng)運行了。
注意事項:
原程序的的標準輸出被自動改向到當前目錄下的nohup.out文件,起到了log的作用。在nohup執(zhí)行成功后直接點擊關閉程序按鈕關閉終端,會斷掉該命令對應的session,導致nohup對應的進程被通知一起shutdown。
所以在使用nohup命令后臺運行命令之后,需要使用exit正常退出當前賬戶,這樣才能保證命令一直在后臺運行。
補充知識:Python后臺運行—nohup及2>&1詳解
一. 代碼
nohup python my.py >> /usr/local/python/xxf/my.log 2>&1 &
nohup tomcat.sh > /dev/null 2>&1 &
二.nohup命令
nohup指不斷地運行,是no hang up的縮寫,指不間斷,不掛斷。運行一個進程的時候,不想讓其在你退出賬號時關閉,即可用nohup。
nohup在不規(guī)定的情況下,所以輸出內(nèi)容會到nohup.out中
三.2>&1
0 表示stdin標準輸入,用戶鍵盤輸入的內(nèi)容
1 表示stdout標準輸出,輸出到顯示屏的內(nèi)容
2 表示stderr標準錯誤,報錯內(nèi)容
2>&1是一個整體,>左右不能有空格,即將錯誤內(nèi)容重定向輸入到標準輸出中去。
四. 整體意義及&
&為后臺運行
第一條代碼,以python環(huán)境不間斷的運行my.py這個腳本,并且將腳本輸出的內(nèi)容重定向輸入my.log中(>>意為追加,如果用>會讓其中的內(nèi)容清空)
my.py >> my.log 和my.py 1>>my.log相同,只是1(標準輸入)被省略了,而后面的my.log 2>&1 又將2(錯誤內(nèi)容)輸入到標準輸出,然后前面的標準輸出又輸入到my.log中,意思錯誤和標準內(nèi)容都會輸出到my.log中,其實代碼可拆成兩塊。
nohup python my.py 1>> /usr/local/python/xxf/my.log &nohup python my.py 2>> /usr/local/python/xxf/my.log &
上面代碼就是將錯誤和標準都輸出到my.log,最初的代碼只是簡化了。
而加2>&1中的&是為了區(qū)別文件1和1(標準輸出),假如為2>1,那么不就成了將錯誤內(nèi)容輸出到文件1中。
nohup tomcat.sh > /dev/null 2>&1 &也是一樣的,將錯誤和標準全部丟入/dev/null中,全部銷毀。
以上這篇在python中使用nohup命令說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
1. js select支持手動輸入功能實現(xiàn)代碼2. 如何在PHP中讀寫文件3. java加載屬性配置properties文件的方法4. PHP正則表達式函數(shù)preg_replace用法實例分析5. 什么是Python變量作用域6. 《Java程序員修煉之道》作者Ben Evans:保守的設計思想是Java的最大優(yōu)勢7. CSS3中Transition屬性詳解以及示例分享8. php redis setnx分布式鎖簡單原理解析9. bootstrap select2 動態(tài)從后臺Ajax動態(tài)獲取數(shù)據(jù)的代碼10. vue使用moment如何將時間戳轉為標準日期時間格式
