伺服器後台自動執行程式和停止

2021-08-21 23:32:48 字數 1405 閱讀 7490

如何後台執行python程式。

關鍵的命令:nohup

只需要輸入下面的命令就可以在後台一直執行python程式啦

nohup python -u test.py > test.log 2>&1 &
這條命令的意思是,執行test.py程式,並把程式中執行的情況記錄到test.log檔案中,包括程式異常、程式中列印的資訊等。

-u選項表示每多一條資訊就實時輸出到log.out中,而不是全部輸出完畢再輸出 

&符號表示在後台執行,執行時可以檢視日誌或者執行 

ps:也可以把上述命令寫成nohup python -u test.py > nohup.out 2>&1 &唯一的區別就是把日誌資訊寫到nohup.out檔案中去了,兩種做法都行。

輸入後,回車。會列印出乙個程序號。 

通過

ps -a
命令檢視當前執行的所有程序。你就會發現剛才生成的程序號在列出的程序裡面。

也可通過

ps -ef |grep python
檢視所有後台python執行程式

方法一:

通過

jobs
命令檢視job號(假設為num),然後執行

kill %num

方法二:

通過

ps
命令檢視job的程序號(pid,假設為pid),然後執行

kill pid
在遠端伺服器端後台執行scrapy爬蟲程式

我們都知道,在本地執行scrapy程式只需要命令scrapy crawal myspider,那麼在伺服器端,如何運用上述後台執行python檔案的方法來執行scrapy程式呢?

簡單!再寫乙個python檔案,如run.py,內容如下:

import os

if __name__ == '__main__':

os.system("scrapy crawl myspider")

然後執行:

nohup python -u run.py > run.log 2>&1 &
很顯然了,就是在python檔案中呼叫系統命令,執行scrapy crawl myspider這條命令啦。通過後台執行這個run.py檔案,來執行scrapy crawl myspider這條命令,從而達到後台執行scrapy爬蟲程式的目的。

在伺服器後台執行程式

用pycharm在伺服器上做深度學習訓練時,要一直開著電腦,否則連線就會中斷,或者因為斷網或者掉線等問題導致訓練中斷。用screen將任務掛在後台執行,就可以避免上述情況的出現了 screen ls the program screen is currently not installed.you ...

關於開機自動執行程式和自動啟動服務

登錄檔中關於開機自動執行程式和自動啟動服務的是哪幾個鍵?windows啟動時通常會有一大堆程式自動啟動。不要以為管好了 開始 程式 啟動 選單就萬事大吉,實際上,在windows xp 2k中,讓windows自動啟動程式的辦法很多,下文告訴你最重要的兩個資料夾和八個註冊鍵。一 當前使用者專有的啟動...

linux伺服器後台執行Python程式

1 大資料量資料的訓練耗時較長,比較好的方法是放到遠端伺服器後台讓其執行,將列印資訊輸出至log檔案就好。命令如下 nohup python u test.py test.log 2 1 其中,最後乙個 表示後台執行程式 nohup 表示程式不被掛起 python 表示執行python u 表示不啟...