linux後臺執行python程式
阿新 • • 發佈:2018-12-31
第一種方法是直接用unhup命令來讓程式在後臺執行,命令格式如下:
unhup python 檔名.py (> ***.log )&
在這個命令中,python指定我們要執行的檔案為python檔案,後面的檔名.py即是我們要執行的檔案。括號內容表示可以將平時輸出到控制檯中的內容重定向到*.log這個檔案中,這個是可選的,如果沒有這個,則會預設輸出到nohup.out檔案中。括號後面你的&表示後臺執行。
- 第二種方法是寫一個指令碼,然後把指令碼提交給伺服器,讓伺服器在後臺執行腳本里面的語句。假設我們定義了一個指令碼start.sh,其內容如下:
#!/bin/bash
cd 想要執行檔案的路徑名
python -u ***.py
上述指令碼中,#!/bin/bash是指此指令碼使用/bin/bash來解釋執行下面的語句,其中cd是表示將當前目錄跳到所要執行檔案所在目錄,然後python -u ***.py則表示執行***python檔案,當寫完該指令碼後,我們就可以使用下面的這條命令來執行該指令碼從而讓程式在後臺執行:
./start.sh > result.log &
在這裡./start.sh表示運行當前目錄下的指令碼start.sh,> result.log表示把原來輸出到控制檯的東西都輸出到result.log檔案中,&表示在後臺執行
我們通過ps -e命令可以檢視後臺執行的程序都有哪些
上圖我們可以看到,我們的指令碼start.sh和Python程式都已經在後臺成功執行,然後通過cat result.log | more就可以來檢視原來輸出到控制檯的資訊
注:要想執行python檔案中的某個函式,一定要記得除了要定義該函式外,還要在該檔案中呼叫該函式