共計 1461 個字符,預(yù)計需要花費 4 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章主要介紹了 Linux 中的 nohup 命令怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
這時我們就可以使用 nohup 這個命令。
nohup 命令是英語詞組 no hangup 的縮寫,意思是不掛斷,也就是指程序不退出。這個命令會使程序忽略 HUP 信號,保證程序能夠正常進(jìn)行。HUP 信號有些人可能比較陌生,它是在終端被中止的時候向它所關(guān)聯(lián)的進(jìn)程所發(fā)出的信號,進(jìn)程收到這個信號后就會中止運行。所以如果你不希望進(jìn)程被這個信號干掉的話,就可以忽略這個信號。而 nohup 命令做的就是這個事情。
本文我們將詳細(xì)介紹 nohup 命令的具體用法。
nohup 命令基本語法
nohup 命令的基本語法如下:
$ nohup command
arguments
或者:
$ nohup options
如果你想要得到更多關(guān)于 nohup 的用法介紹,可以查看它的幫助頁面:
$ nohup --help
如果你需要查看它的版本號,可以使用 –version 選項。
$ nohup --version
使用 nohup 命令啟動一個程序
如果你需要運行一個程序,即使對應(yīng)的 Shell 被退出后依然保持運行,可以這樣使用 nohup 運行這個程序:
$ nohup command
當(dāng)這個程序進(jìn)行起來之后,這個程序?qū)?yīng)的 log 輸出及其錯誤日志都將被記錄在 nohup.out 文件里,這個文件一般位于家目錄或者當(dāng)前目錄。
重定向程序的輸出
如果我不想把程序的輸出保存在家目錄或者當(dāng)前目錄,我想保存在我指定的路徑,并且自定義文件名,要怎么操作? 這時我們就可以使用重定向操作。
比如,我現(xiàn)在有個腳本 myScript.sh 我想把它的輸出保存在家目錄下的 output 目錄下,文件名為 myOutput.txt ,可以這樣運行:
$ nohup ./myScript.sh ~/output/myOutput.txt
使用 nohup 命令后臺啟動一個程序
如果想讓程序在后臺運行,可以加上 符號。但這樣運行之后,程序就無影無蹤了。想要讓程序重新回到終端,可以使用 fg 命令。
這個命令的輸出 log 將保存在 nohup.out 文件里,你可以使用 cat 或其它命令查看。第二行里 8699 這個數(shù)字代表這個命令對應(yīng)的進(jìn)程號,也就是 pid。我們可以使用 ps 命令來找到這個進(jìn)程。
使用 nohup 同時運行多個程序
如果你需要同時跑多個程序,沒必要一個個運行,直接使用 符號即可。比如,你想同時跑 mkdir,ping,ls 三個命令,可以這樣運行:
$ nohup bash -c mkdir files ping -c 1 baidu.com ls output.txt
終止跑在后臺的進(jìn)程
上面有提到,nohup 命令結(jié)合 符號可以使進(jìn)程在后臺運行,即使關(guān)閉了終端依然不受影響。這時,如果想要終止這個進(jìn)程,要怎么操作呢?
最簡單的當(dāng)屬 kill 命令,相信大家用過很多次了。
$kill -9 PID
那要如何找到進(jìn)程對應(yīng)的 pid 呢? 我們可以使用 ps 命令。
$ ps aux | grep myScript.sh
或者你使用 pgrep 命令也行。
接下來,再使用 kill 命令就可以終止該進(jìn)程了。
$kill -9 14942
感謝你能夠認(rèn)真閱讀完這篇文章,希望丸趣 TV 小編分享的“Linux 中的 nohup 命令怎么用”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關(guān)注丸趣 TV 行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
向 AI 問一下細(xì)節(jié)
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!