linux中程序後台執行的方法

2021-10-03 19:53:56 字數 905 閱讀 2843

參考自:

linux 讓程式在後台執行:

有些程式我們在開啟時,會一直占用我們的終端,而且終端還不能關掉,所以這時候我們就需要讓程式在後台執行。

1.命令:nohup

nohup python -u run.py > run.log 2>

&1 &

引數說明:

run.py: 你需要後台執行的程式.

run.log: 執行的日誌,或你的檔案的輸出內容.

>:日誌追加到檔案

& 是乙個描述符,如果1或2前不加&,會被當成乙個普通檔案。

1>&2 意思是把標準輸出重定向到標準錯誤.

2>&1 意思是把標準錯誤輸出重定向到標準輸出。

&>filename 意思是把標準輸出和標準錯誤輸出都重定向到檔案filename中

這條命令的意思是,執行run.py程式,並把程式中執行的情況記錄到run.log檔案中,包括程式異常、程式中列印的資訊等。

2.若直接使用下面命令呢?

nohup python run.py &
這樣執行,在run.py的目錄預設直接生成了nohup.out檔案,但是內容始終是空的.

原因如下↓↓:

python的輸出又緩衝,導致out.log並不能夠馬上看到輸出。 -u 引數,使得python不啟用緩衝。

解決

nohup python -u run.py > run.log 2>

&1 &

如果許可權不夠的話就

nohup

sudo python -u flush.py > flush.log2>

&1 &

Linux程序後台執行

學習snmp協議,寫了乙個用sysuptime.0獲取系統自開機到現在的時間的小php程式,如下 define bit 8 g 0 idd mysql connect localhost n1417 123456 or die could not connect mysql error mysql ...

linux中程序執行exec家族

啟動程序 exec族 共用標頭檔案 include int execl const char path,const char arg,int execlp const char file,const char arg,int execle const char path,const char arg...

linux程序後台執行的幾種方法

我們經常會碰到這樣的問題,用 telnet ssh 登入了遠端的 linux 伺服器,執行了一些耗時較長的任務,結果卻由於網路的不穩定導致任務中途失敗。如何讓命令提交後不受本地關閉終端視窗 網路斷開連線的干擾呢?下面舉了一些例子,您可以針對不同的場景選擇不同的方式來處理這個問題。nohup sets...