linux 后台運行nohup & ctrl+z


使用Linux時,經常希望有些命令結果不在前台顯示,如sh腳本,耗時的命令等。
一般情況下,使用 & 將命令結果后台運行,如sh test.sh,腳本后台執行。

有時候命令已經在前台執行了,需要將其切換到后台可以使用, ctrl+z ,但是該命令切換到后台會處於暫停狀態,可以配合 jobs 進一步處理后台的命令(進程)。

更極端的情況是 有些命令需要占用很長的時間卻又不能間斷,如下載。。。,這時候需要 nohup (ignoring hangup signals) 忽略掛起信號一直在后台執行。

比較下 & 與 nohup:
& :后台運行,但用戶終端退出時(斷連),命令結束
nohup test.sh & : 后台運行,用戶終端退出時(斷連)依然保持運行,可使用標准輸入輸出。

如果使用nohup命令提交作業,那么在缺省情況下該作業的所有輸出都被重定向到一個名為nohup.out的文件中,除非另外指定了輸出文件:
如:nohup command > myout.file 2>&1 &
指定了輸出到文件myout.file
2>&1 是將標准出錯重定向到標准輸出,這里的標准輸出已經重定向到了out.file文件,即將標准出錯也輸出到out.file文件中。最后一個&, 是讓該命令在后台執行。

使用例子參考:

https://www.cnblogs.com/MYSQLZOUQI/p/5283761.html


免責聲明!

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



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