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 &

    1    這樣運行,在run.py的目錄默認直接生成了nohup.out文件,但是內容始終是空的.

原因如下↓↓:

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

解決

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

    1

如果權限不夠的話就

nohup sudo python -u flush.py > flush.log2>&1 & --------------------- 作者:來自外星的一只猿 來源:CSDN 原文:

 

--------------------- 作者:來自外星的一只猿 來源:CSDN 原文:https://blog.csdn.net/aa1209551258/article/details/81705150 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM