Linux中的nohup命令怎么用

這篇文章主要介紹了Linux中的nohup命令怎么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有鷹潭免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

這時(shí)我們就可以使用 nohup 這個(gè)命令。

nohup 命令是英語(yǔ)詞組 no hangup 的縮寫,意思是不掛斷,也就是指程序不退出。這個(gè)命令會(huì)使程序忽略 HUP 信號(hào),保證程序能夠正常進(jìn)行。HUP  信號(hào)有些人可能比較陌生,它是在終端被中止的時(shí)候向它所關(guān)聯(lián)的進(jìn)程所發(fā)出的信號(hào),進(jìn)程收到這個(gè)信號(hào)后就會(huì)中止運(yùn)行。所以如果你不希望進(jìn)程被這個(gè)信號(hào)干掉的話,就可以忽略這個(gè)信號(hào)。而  nohup 命令做的就是這個(gè)事情。

本文我們將詳細(xì)介紹 nohup 命令的具體用法。

nohup命令基本語(yǔ)法

nohup 命令的基本語(yǔ)法如下:

$ nohup command arguments

或者:

$ nohup options

如果你想要得到更多關(guān)于 nohup 的用法介紹,可以查看它的幫助頁(yè)面:

$ nohup --help

如果你需要查看它的版本號(hào),可以使用 --version 選項(xiàng)。

$ nohup --version

使用nohup命令啟動(dòng)一個(gè)程序

如果你需要運(yùn)行一個(gè)程序,即使對(duì)應(yīng)的 Shell 被退出后依然保持運(yùn)行,可以這樣使用 nohup 運(yùn)行這個(gè)程序:

$ nohup command

當(dāng)這個(gè)程序進(jìn)行起來(lái)之后,這個(gè)程序?qū)?yīng)的 log 輸出及其錯(cuò)誤日志都將被記錄在 nohup.out 文件里,這個(gè)文件一般位于家目錄或者當(dāng)前目錄。

重定向程序的輸出

如果我不想把程序的輸出保存在家目錄或者當(dāng)前目錄,我想保存在我指定的路徑,并且自定義文件名,要怎么操作?這時(shí)我們就可以使用重定向操作 > 。

比如,我現(xiàn)在有個(gè)腳本 myScript.sh 我想把它的輸出保存在家目錄下的 output 目錄下,文件名為 myOutput.txt  ,可以這樣運(yùn)行:

$ nohup ./myScript.sh > ~/output/myOutput.txt

使用nohup命令后臺(tái)啟動(dòng)一個(gè)程序

如果想讓程序在后臺(tái)運(yùn)行,可以加上 & 符號(hào)。但這樣運(yùn)行之后,程序就無(wú)影無(wú)蹤了。想要讓程序重新回到終端,可以使用 fg 命令。

Linux中的nohup命令怎么用

這個(gè)命令的輸出 log 將保存在 nohup.out 文件里,你可以使用 cat 或其它命令查看。第二行里 8699  這個(gè)數(shù)字代表這個(gè)命令對(duì)應(yīng)的進(jìn)程號(hào),也就是 pid 。我們可以使用 ps 命令來(lái)找到這個(gè)進(jìn)程。

使用nohup同時(shí)運(yùn)行多個(gè)程序

如果你需要同時(shí)跑多個(gè)程序,沒(méi)必要一個(gè)個(gè)運(yùn)行,直接使用 && 符號(hào)即可。比如,你想同時(shí)跑 mkdir ,ping,ls  三個(gè)命令,可以這樣運(yùn)行:

$ nohup bash -c 'mkdir files && ping -c 1 baidu.com && ls'> output.txt

Linux中的nohup命令怎么用

終止跑在后臺(tái)的進(jìn)程

上面有提到,nohup 命令結(jié)合 & 符號(hào)可以使進(jìn)程在后臺(tái)運(yùn)行,即使關(guān)閉了終端依然不受影響。這時(shí),如果想要終止這個(gè)進(jìn)程,要怎么操作呢?

最簡(jiǎn)單的當(dāng)屬 kill 命令,相信大家用過(guò)很多次了。

$kill -9 PID

那要如何找到進(jìn)程對(duì)應(yīng)的 pid 呢?我們可以使用 ps 命令。

$ ps aux | grep myScript.sh

Linux中的nohup命令怎么用

或者你使用 pgrep 命令也行。

Linux中的nohup命令怎么用

接下來(lái),再使用 kill 命令就可以終止該進(jìn)程了。

$kill -9 14942

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Linux中的nohup命令怎么用”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

分享名稱:Linux中的nohup命令怎么用
網(wǎng)站鏈接:http://muchs.cn/article20/gesojo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google網(wǎng)站收錄、ChatGPT、網(wǎng)站內(nèi)鏈標(biāo)簽優(yōu)化、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名