国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

后端開(kāi)發(fā)從小白到大佬之Linux的命令(一):nohup,詳解底層!?。?/h1>

這篇具有很好參考價(jià)值的文章主要介紹了后端開(kāi)發(fā)從小白到大佬之Linux的命令(一):nohup,詳解底層!??!。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


nohup,工作經(jīng)驗(yàn)與積累,linux,python,運(yùn)維

nohup

nohup命令初識(shí)

在 Linux 中,nohup 命令 用于在后臺(tái)運(yùn)行命令并將其輸出重定向到一個(gè)文件中,即使退出終端或關(guān)閉會(huì)話,該命令也能夠持久的運(yùn)行。 通常情況下,我們使用 nohup 命令來(lái)運(yùn)行那些需要較長(zhǎng)時(shí)間才能完成的任務(wù),或者需要在長(zhǎng)時(shí)間運(yùn)行的過(guò)程中保持連接的任務(wù),我們java的jar包就是一個(gè)很好的選擇。

nohup命令語(yǔ)法

語(yǔ)法:

nohup command [arg...] [arg &]
  • command :是要運(yùn)行的命令及其參數(shù),
  • & :可以讓命令在后臺(tái)運(yùn)行
  • nohup 命令會(huì)將命令的輸出轉(zhuǎn)向到一個(gè)名為 nohup.out 的文件中。這個(gè)是默認(rèn)的日志命令,可以通過(guò)tail -f nohup.out查看
  • 如果您不想將輸出重定向到 nohup.out 文件,您可以使用 >>> 運(yùn)算符將輸出重定向到其他文件中。
nohup java -jar xxx.jar > nohup.out &

nohup的原理

nohup 命令的原理是 將要執(zhí)行的命令與當(dāng)前終端會(huì)話進(jìn)行分離,使其脫離終端的控制,并在后臺(tái)持續(xù)運(yùn)行。它實(shí)際上是使用了兩個(gè)關(guān)鍵技術(shù):進(jìn)程分離和輸出重定向。

  1. 進(jìn)程分離:nohup 命令使用了 forkexec 系統(tǒng)調(diào)用來(lái)創(chuàng)建一個(gè)子進(jìn)程,并使子進(jìn)程成為一個(gè)新的會(huì)話組的領(lǐng)導(dǎo)者。 這樣可以使子進(jìn)程與終端斷開(kāi)關(guān)聯(lián),進(jìn)程不再受到終端關(guān)閉或用戶注銷的影響。
  2. 輸出重定向:nohup 命令將子進(jìn)程的標(biāo)準(zhǔn)輸出(STDOUT)和標(biāo)準(zhǔn)錯(cuò)誤輸出(STDERR)重定向到一個(gè)文件中,默認(rèn)情況下是 nohup.out 文件。這樣即使終端關(guān)閉,命令的輸出依然可以寫(xiě)入到文件中。

同時(shí)需要注意以下幾點(diǎn):

  • 當(dāng)使用 nohup 命令運(yùn)行一個(gè)程序時(shí),該程序的標(biāo)準(zhǔn)輸入(STDIN)將會(huì)被關(guān)閉。因此,如果程序需要從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),可能需要通過(guò)其他方式提供輸入。
  • nohup 命令執(zhí)行時(shí),會(huì)產(chǎn)生一個(gè) 子進(jìn)程,可能會(huì)導(dǎo)致一些資源的占用。如果運(yùn)行的是占用資源較多的程序,需要注意系統(tǒng)的負(fù)載情況。
  • nohup 命令并不會(huì)使命令變?yōu)槭刈o(hù)進(jìn)程(daemon process)。如果您希望在系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行某個(gè)命令,并將其作為守護(hù)進(jìn)程運(yùn)行,可以考慮使用其他工具,如 systemdinit.d。

如何查看nohup的進(jìn)程

ps | grep

使用 ps 命令結(jié)合 grep 過(guò)濾器來(lái)查找包含特定關(guān)鍵詞的進(jìn)程。例如,使用以下命令可以查找包含關(guān)鍵詞 “nohup” 的進(jìn)程:

ps -ef | grep nohup

該命令將顯示與 “nohup” 相關(guān)的進(jìn)程列表。

pgrep

可以使用 pgrep 命令以及進(jìn)程的名稱或其他標(biāo)識(shí)符來(lái)查找匹配的進(jìn)程。例如,使用以下命令可以查找根據(jù)進(jìn)程名稱 “your_process_name” 執(zhí)行的進(jìn)程:

pgrep -l your_process_name

jobs

jobs 是一個(gè)用于查看當(dāng)前終端會(huì)話中正在運(yùn)行的作業(yè)(job)的命令。作業(yè)指的是在前臺(tái)或后臺(tái)運(yùn)行的進(jìn)程或命令。

使用 jobs 命令可以列出當(dāng)前終端會(huì)話中的作業(yè),并顯示作業(yè)的編號(hào)和狀態(tài)信息。以下是 jobs 命令的基本用法:

jobs [options]

常用的選項(xiàng)包括:

  • -l:顯示詳細(xì)信息,包括作業(yè)編號(hào)、進(jìn)程 ID 和作業(yè)狀態(tài)。
  • -n:只顯示最近創(chuàng)建的未通知作業(yè)。
  • -p:只顯示進(jìn)程 ID。
  • -r:只顯示運(yùn)行中的作業(yè)。
  • -s:只顯示停止的作業(yè)。

示例用法:

$ sleep 60 &  # 在后臺(tái)運(yùn)行 sleep 命令
[1] 12345

$ jobs
[1]+  Running                 sleep 60 &

在上面的示例中,sleep 60 命令被放到后臺(tái)運(yùn)行,并顯示了作業(yè)編號(hào) [1]、進(jìn)程 ID 12345 和作業(yè)狀態(tài) Running。

pu -ux

ps -ux 是一個(gè)常用的 Linux 命令,用于顯示當(dāng)前系統(tǒng)中運(yùn)行的進(jìn)程的詳細(xì)信息。下面是 ps -ux 命令的解釋:

ps -ux
  • -u 選項(xiàng)用于顯示與當(dāng)前用戶相關(guān)的進(jìn)程信息。
  • -x 選項(xiàng)用于顯示沒(méi)有控制終端的進(jìn)程。

該命令將顯示包括以下列在內(nèi)的進(jìn)程列表:

  • USER:進(jìn)程所屬的用戶名。
  • PID:進(jìn)程的 ID。
  • %CPU:進(jìn)程使用的 CPU 百分比。
  • %MEM:進(jìn)程使用的內(nèi)存百分比。
  • VSZ:進(jìn)程使用的虛擬內(nèi)存(以 KB 為單位)。
  • RSS:進(jìn)程使用的實(shí)際物理內(nèi)存(以 KB 為單位)。
  • TTY:進(jìn)程所關(guān)聯(lián)的終端。
  • STAT:進(jìn)程的狀態(tài)(R 表示運(yùn)行,S 表示睡眠,Z 表示僵尸等)。
  • START:進(jìn)程啟動(dòng)的時(shí)間或日期。
  • TIME:進(jìn)程消耗的 CPU 時(shí)間。
  • COMMAND:?jiǎn)?dòng)進(jìn)程的命令或可執(zhí)行文件的名稱。

示例輸出如下:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0 168872  9096 ?        Ss   2023   0:05 /sbin/init
root         2  0.0  0.0      0     0 ?        S    2023   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        I<   2023   0:00 [rcu_gp]
...

注意,ps -ux 命令會(huì)列出所有正在運(yùn)行的進(jìn)程的信息,包括系統(tǒng)進(jìn)程和其他用戶的進(jìn)程。如果想要限制輸出只顯示與當(dāng)前用戶相關(guān)的進(jìn)程,可以結(jié)合使用 grep 命令進(jìn)行過(guò)濾。例如:

nohup,工作經(jīng)驗(yàn)與積累,linux,python,運(yùn)維

如何關(guān)閉進(jìn)程

kill

使用kill命令關(guān)閉進(jìn)程。kill命令用于向進(jìn)程發(fā)送信號(hào),可以用來(lái)終止一個(gè)進(jìn)程。首先需要找到要關(guān)閉的進(jìn)程的進(jìn)程ID(PID),可以使用ps命令或者top命令來(lái)查看所有正在運(yùn)行的進(jìn)程。然后使用kill命令加上進(jìn)程ID來(lái)關(guān)閉進(jìn)程。例如,要關(guān)閉進(jìn)程ID為1234的進(jìn)程,可以運(yùn)行以下命令:

kill 1234

默認(rèn)情況下,kill命令發(fā)送的是SIGTERM信號(hào),這是一個(gè)終止進(jìn)程的常規(guī)信號(hào)。如果進(jìn)程不響應(yīng)SIGTERM信號(hào),可以使用kill命令加上-9選項(xiàng)來(lái)發(fā)送SIGKILL信號(hào),強(qiáng)制終止進(jìn)程。例如:

kill -9 1234

pkill

使用pkill命令關(guān)閉進(jìn)程。pkill命令可以根據(jù)進(jìn)程的名稱或者其他屬性來(lái)關(guān)閉進(jìn)程。例如,要關(guān)閉名稱為"process_name"的進(jìn)程,可以運(yùn)行以下命令:

pkill process_name

默認(rèn)情況下,pkill命令發(fā)送的是SIGTERM信號(hào),可以使用-9選項(xiàng)來(lái)發(fā)送SIGKILL信號(hào),強(qiáng)制終止進(jìn)程。

使用killall命令關(guān)閉進(jìn)程。killall命令可以根據(jù)進(jìn)程的名稱來(lái)關(guān)閉進(jìn)程。例如,要關(guān)閉名稱為"process_name"的進(jìn)程,可以運(yùn)行以下命令:

killall process_name

默認(rèn)情況下,killall命令發(fā)送的是SIGTERM信號(hào),可以使用-9選項(xiàng)來(lái)發(fā)送SIGKILL信號(hào),強(qiáng)制終止進(jìn)程。

結(jié)尾

恭喜小伙伴完成本篇文章的學(xué)習(xí),相信文章的內(nèi)容您已經(jīng)掌握得十分清楚了,如果您對(duì)工作技巧的知識(shí)十分好奇,請(qǐng)接下來(lái)跟著學(xué)習(xí)路徑完成相關(guān)的學(xué)習(xí)哦,相信你會(huì)做到的~~~

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

darr; ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-836684.html

到了這里,關(guān)于后端開(kāi)發(fā)從小白到大佬之Linux的命令(一):nohup,詳解底層?。?!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python中(限小白,大佬勿入)python開(kāi)發(fā)中的trick:常量

    python中(限小白,大佬勿入)python開(kāi)發(fā)中的trick:常量

    開(kāi)場(chǎng)白 ? ? ? ? 我是小白,今天被前端罵了一頓:我們交接不是說(shuō)好了就給你四個(gè)變量:A,B。C。D。你這命名的這么具體,我這邊給你傳值不是很方便啊(因?yàn)椴煌K有復(fù)用的圖片路徑),我說(shuō)“那我改?” 后續(xù)處理 ? ? ? ? 第一、對(duì)接遇到問(wèn)題 ? ? ? ? 這以后對(duì)接不

    2024年02月12日
    瀏覽(19)
  • Linux nohup后臺(tái)啟動(dòng)/ 后臺(tái)啟動(dòng)命令中nohup 、&、重定向的使用

    Linux nohup后臺(tái)啟動(dòng)/ 后臺(tái)啟動(dòng)命令中nohup 、&、重定向的使用

    經(jīng)??吹揭恍﹋ar包,sh腳本用nohup命令后臺(tái)啟動(dòng),今天就講解一下nohup的用法。 nohup主要作用就是可以在后臺(tái)運(yùn)行,并可以選擇將日志輸出到指定文件。如啟動(dòng)jar包,若使用 java -jar demo.jar 的方式啟動(dòng)程序當(dāng)窗口關(guān)閉的時(shí)候程序也停止了,而且日志會(huì)直接輸出到控制臺(tái)非常不直

    2024年02月04日
    瀏覽(13)
  • Linux中安裝和使用nohup命令

    Linux中安裝和使用nohup命令

    nohup 英文全稱 no hang up(不掛起) 當(dāng)我們把項(xiàng)目部署到服務(wù)器上時(shí),只有一直保持linux終端的連接才能夠運(yùn)行項(xiàng)目,當(dāng)我們把連接軟件Xshell或者Finalshell連接工具關(guān)掉時(shí),項(xiàng)目也就停止運(yùn)行。只要用了nohup命令,我們的項(xiàng)目就能夠一直運(yùn)行了,此時(shí)就實(shí)現(xiàn)了我們需求。 例如:

    2023年04月25日
    瀏覽(15)
  • linux后臺(tái)執(zhí)行命令:&與nohup的用法

    背景:電腦使用ssh工具遠(yuǎn)程連接服務(wù)器跑深度學(xué)習(xí)的時(shí)候,本地的終端叉掉的時(shí)候,會(huì)把服務(wù)器上的代碼進(jìn)程一起叉掉了,這在實(shí)際場(chǎng)景中,非常的不方便,因?yàn)椴豢杀苊鈺?huì)遭受不可抗拒的原因需要代碼只在服務(wù)器上跑,比如,網(wǎng)絡(luò)原因ssh連接不穩(wěn)定,本地電腦斷電等。 直接

    2024年02月10日
    瀏覽(21)
  • linux 中的 nohup 命令(設(shè)置后臺(tái)進(jìn)程): nohup: ignoring input and appending output to ‘nohup.out’

    Unix/Linux下一般比如想讓某個(gè)程序在后臺(tái)運(yùn)行,很多都是使用 在程序結(jié)尾來(lái)讓程序自動(dòng)運(yùn)行。 比如我們要運(yùn)行weblogic在后臺(tái): ./startWebLogic.sh 但是加入我們很多程序并不象weblogic一樣做成守護(hù)進(jìn)程,可能我們的程序只是普通程序而已,一般這種程序使用 結(jié)尾。 但是如果終端關(guān)

    2024年02月04日
    瀏覽(30)
  • Linux shell 命令中nohup 、&、重定向的使用

    一、nohup 和 使用方法 1.1、 nohup (不掛斷) nohup 是 no hung up 的縮寫(xiě),意思是不掛斷 。 使用 Xshell 等Linux 客戶端工具,遠(yuǎn)程執(zhí)行 Linux 腳本時(shí),有時(shí)候會(huì)由于網(wǎng)絡(luò)問(wèn)題,導(dǎo)致客戶端失去連接,終端斷開(kāi),腳本運(yùn)行一半就意外結(jié)束了。這種時(shí)候,就可以用 nohup 指令來(lái)運(yùn)行指令,即

    2024年02月22日
    瀏覽(21)
  • nohup 輸出到指定文件 Linux nohup 實(shí)現(xiàn)命令后臺(tái)運(yùn)行并輸出或記錄到指定日志文件 設(shè)置日志結(jié)果文件名稱 重定向到某個(gè)文件 標(biāo)準(zhǔn)誤 標(biāo)準(zhǔn)錯(cuò)誤輸出定向 輸入報(bào)錯(cuò)信息保留

    # yourcommand:啟動(dòng)對(duì)象命令??梢愿撁钚枰母鞣N參數(shù)。 # 是指在后臺(tái)運(yùn)行,但當(dāng)用戶推出(掛起)的時(shí)候,命令自動(dòng)也跟著退出. nohup與結(jié)合起來(lái),可以實(shí)現(xiàn)不掛斷的后臺(tái)運(yùn)行。 實(shí)現(xiàn)屏幕輸出記錄到日志文件 # 0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standa

    2024年02月05日
    瀏覽(24)
  • GitHub入門(mén)介紹:從小白到大佬的旅程

    GitHub入門(mén)介紹:從小白到大佬的旅程

    ???? 博主貓頭虎(????)帶您 Go to New World??? ?? 博客首頁(yè) ——????貓頭虎的博客?? ?? 《面試題大全專欄》 ?? 文章圖文并茂??生動(dòng)形象??簡(jiǎn)單易學(xué)!歡迎大家來(lái)踩踩~?? ?? 《IDEA開(kāi)發(fā)秘籍專欄》 ?? 學(xué)會(huì)IDEA常用操作,工作效率翻倍~?? ?? 《100天精通Golang(基礎(chǔ)

    2024年02月03日
    瀏覽(8)
  • 【數(shù)據(jù)結(jié)構(gòu)】帶頭雙向循環(huán)鏈表(小白作品,如果有誤,請(qǐng)大佬指點(diǎn))

    【數(shù)據(jù)結(jié)構(gòu)】帶頭雙向循環(huán)鏈表(小白作品,如果有誤,請(qǐng)大佬指點(diǎn))

    帶頭雙向循環(huán)鏈表(Doubly Circular Linked List with a Head)是一種鏈表數(shù)據(jù)結(jié)構(gòu),它具有以下特點(diǎn): 頭節(jié)點(diǎn)(哨兵位):帶頭雙向循環(huán)鏈表包含一個(gè)頭節(jié)點(diǎn),它位于鏈表的起始位置,并且不存儲(chǔ)實(shí)際數(shù)據(jù)。頭節(jié)點(diǎn)的前驅(qū)指針指向尾節(jié)點(diǎn),頭節(jié)點(diǎn)的后繼指針指向第一個(gè)實(shí)際數(shù)據(jù)節(jié)點(diǎn)。

    2024年04月28日
    瀏覽(27)
  • nohup 命令之 nohup: ignoring input and appending output to ‘nohup.out’

    當(dāng)我在linux中使用nohup 命令的時(shí)候,出現(xiàn)了這個(gè)錯(cuò)誤: nohup ?英文全稱 no hang up(不掛起),用于在系統(tǒng)后臺(tái)不掛斷地運(yùn)行命令,退出終端不會(huì)影響程序的運(yùn)行。 nohup ?命令,在默認(rèn)情況下(非重定向時(shí)),會(huì)輸出一個(gè)名叫 nohup.out 的文件到當(dāng)前目錄下,如果當(dāng)前目錄的 nohup

    2023年04月09日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包