91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中的nohup命令如何使用

發布時間:2023-05-18 14:20:53 來源:億速云 閱讀:162 作者:zzz 欄目:建站服務器

本篇內容主要講解“Linux中的nohup命令如何使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Linux中的nohup命令如何使用”吧!

nohup是什么

nohup是Linux和Unix系統中的一個命令,其作用是在終端退出時,讓進程在后臺繼續運行。它的全稱為“no hang up”,意為“不掛起”。nohup命令可以讓你在退出終端或關閉SSH連接后繼續運行命令。

nohup語法規則

nohup命令的基本語法如下:

nohup COMMAND [ARGS ...] [> output-file 2> error-file] &

其中的參數含義如下:

  • COMMAND:需要在后臺運行的命令或腳本。

  • ARGS:命令或腳本的參數。

  • > output-file:輸出重定向到指定的文件中。

  • 2> error-file:錯誤信息重定向到指定的文件中。

  • &:將命令放在后臺運行。

nohup命令的執行過程分為以下幾個步驟:

  • nohup命令將當前shell的標準輸入、標準輸出和標準錯誤輸出全部重定向到/dev/null設備中,避免被關閉終端的信號所中斷。

  • nohup命令將進程放到后臺執行,并將進程的PID輸出到終端。

  • 進程開始執行,并將標準輸出和標準錯誤輸出重定向到指定的文件中。

  • 用戶可以退出終端或關閉終端窗口,進程仍然在后臺運行。

nohup使用方法

使用nohup命令非常簡單,按照上面的基本語法即可。以下是一些nohup命令的用法示例:

后臺運行命令

要在后臺運行命令,只需要在命令行中輸入以下命令即可:

nohup COMMAND &

例如,在后臺運行一個Bash腳本:

nohup bash test.sh &
標準輸出重定向到文件
nohup bash test.sh > stdout.txt &
標準錯誤輸出重定向到文件
nohup bash test.sh 2> stderr.txt &
將標準輸出和標準錯誤輸出都重定向到文件

1. 重定向到同一文件

nohup bash test.sh > output.txt 2>&1 &

2. 重定向到不同文件

nohup bash test.sh > stdout.txt 2> stderr.txt &

3. 一個更為復雜的例子,重定向標準輸入(stdin):

nohup ./myprogram > foo.out 2> foo.err < /dev/null &

這里多出來一個< /dev/null,意思是將標準輸入重定向到/dev/null,以確保程序不會從標準輸入中讀取任何數據。

這個是為了解決一個實際問題:SSH會話常常拒絕注銷(或者掛起),因為它不愿意去丟失與后臺job(s)進行交互的數據。當遇到這個問題的時候,可以使用上面的命令,通過三次重定向來解決。

nohup后臺進程管理

使用 jobs 命令可以查看當前 shell 中后臺運行的任務列表,包括任務編號、狀態和命令。

例如,我們在后臺執行一個sleep 1000命令,使用jobs命令查看:

$ jobs
[1]+  Running                 nohup sleep 1000 &

其中,方括號中的數字表示任務編號,加號或減號表示任務的優先級,Running 表示任務正在后臺運行。除此之外,還有其他可能的狀態,包括 Stopped(已停止)、Done(已完成)等。

我們還可以使用 fg 命令將一個后臺任務移動到前臺繼續運行,例如:

$ fg %1

這個命令會將任務編號為 1 的任務移動到前臺,繼續執行。如果希望將任務暫停或恢復,可以使用 Ctrl-Z 鍵,在當前 shell 中發送 SIGTSTP 信號。

$ fg %1
nohup sleep 1000

^Z
[1]+  Stopped                 nohup sleep 1000

此時如果想要恢復運行,可以使用bg命令:

$ bg %1
[1]+ nohup sleep 1000 &

如果想要殺死該任務,可以使用kill命令:

$ kill %1
[1]+  Terminated              nohup sleep 1000

如果你想殺死所有后臺任務,但是又覺得一個個地比較麻煩,可以使用disown命令來解決:

$ disown -a

這個命令可以殺死所有后臺任務,但不會有任何提示,你可以通過jobs命令來確認。

到此,相信大家對“Linux中的nohup命令如何使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德安县| 自治县| 娄烦县| 台湾省| 怀来县| 弋阳县| 察隅县| 陇南市| 临沧市| 雷波县| 南城县| 太仆寺旗| 台东县| 衡阳市| 南陵县| 阿图什市| 台北市| 广饶县| 麟游县| 长乐市| 隆子县| 大田县| 建水县| 张家川| 湖南省| 富宁县| 称多县| 晋城| 漳浦县| 平和县| 清水河县| 抚州市| 尼勒克县| 辽宁省| 错那县| 阿图什市| 阳江市| 托克托县| 保定市| 陆丰市| 尤溪县|