Nohup后台運行程序


場景:我現在需要跑腳本批量處理一些數據,但是我又不想盯着控制台看這個腳本的輸出結果,想把這些輸出結果記錄到一個日志文件里面

方案:可以使用 Linux 的 nohup 命令,把進程掛起,后台執行

用法:

$ nohup XXXXXX.sh >> /runtime/deletedata.log &

運行結果(這個數字是進程號):

>> [1] 13120

有時候可能會報一個提示:

$ nohup: ignoring input and redirecting stderr to stdout

這個影響不大,不用緊張,也可以加多一個 2>&1 就不會出現這個問題

用法:

$ nohup XXXXXX.sh >> /runtime/deletedata.log 2>&1 &

TIPS:命令最后面的 & 符號是切換到后台去跑,退出終端也不會退出任務進程

運行這個命令之后呢,會輸出一個進程號,類似上面的輸出,可以使用 top 命令查看運行中的進程,也可以用 ps -aux 查看進程

想要終止這個進程的話只能殺死這個進程,使用 kill 指令處理

$ kill -9 進程號

TIPS:如果進程掛不起來,可能是端口被占用了,自行排查處理便可

 


免責聲明!

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



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