1. 程式人生 > >Nohup後臺運行程序

Nohup後臺運行程序

run 任務 del 如果 命令 查看進程 rec 日誌 xxx

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

方案:可以使用 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:如果進程掛不起來,可能是端口被占用了,自行排查處理便可

Nohup後臺運行程序