濮阳杆衣贸易有限公司

主頁 > 知識庫 > 在后臺運行Linux命令的方法

在后臺運行Linux命令的方法

熱門標簽:高德地圖標注在建線路 山東400電話如何辦理 宿州防封外呼系統(tǒng)廠家 濟源電話外呼系統(tǒng)怎么樣 電話機器人服務差 ai電銷機器人 如何開發(fā) 智能外呼系統(tǒng)如何部署 電銷機器人對公司貢獻 蘭州語音電銷機器人軟件

通常情況下,當你在終端運行一個命令,在你開始輸入另外一個命令之前,你必須等待當前命令運行結束。這被稱為在前臺運行命令,或者前臺進程。當一個進程在前臺運行時,它占用了你的 shell,并且你可以通過輸入設備和它進行交互。

那么當一個命令運行需要很長時間,而你又想同時運行另外的命令,應該怎么辦?有幾種選項可以選擇。最明顯并且最直接的選項就是啟動一個新的 Shell 會話,并且在上面運行命令。另外一個選項,就是在后臺運行命令。

一個后臺進程就是說一個進程/命令在終端啟動后,運行在后臺,并且不會和用戶發(fā)生任何交互。

在這篇文章中,我們將會討論在 Linux 中的后臺進程。我們將會為你演示如何在后臺啟動命令,并且保持進程直到會話結束。

在后臺運行一個 Linux 命令

為了在后臺運行命令,請在命令的后面添加一個符號(&):

command &

這個 shell 的任務 id(被括號包圍的內容)和進程 ID 將會被打印在終端:

[1] 25177

你可以在后臺同時運行很多進程。

后臺進程會將不斷地將信息寫在終端上。為了禁止stdoutstderr信息,請使用下面的語法:

command > /dev/null 2>&1 &

>/dev/null 2>&1 意味著 將stdout轉向/dev/null,而 stderr轉向sdtout

使用jobs命令顯示當前 shell 會話中所有停止的和后臺的任務狀態(tài)。

jobs -l

輸出內容包括任務 id,進程 ID,任務狀態(tài)和啟動任務的命令:

[1]+ 25177 Running   ping google.com &

想要將后臺進程轉到前臺的話,請使用fg命令:

fg

如果你在后臺有多個任務,請在命令后添加%+任務 ID:

fg %1

想要停止后臺進程,請在kill命令后添加進程 ID:

kill -9 25177

將前臺進程移動到后臺

想要將一個前臺進程移動到后臺:

01.通過按鍵Ctrl+Z停止當前進程

02.通過輸入bg將停止進程移動到后臺去

保持后臺進程運行直到 Shell 退出

如果你丟失了連接,或者你退出了 Shell 會話,后臺進程將會被終止。有很多方法可以保證進程運行直到交互的 Shell 結束。

一個方法就是從 Shell 任務控制中移除任務,使用內建的disown

disown

如果你有很多后臺任務,請在命令后面添加%+任務 ID:

disown %1

通過使用jobs -l來確認任務已經從任務表中移除。為了列出正在運行的進程,請使用ps aux命令。

另外一個保證進程運行,直到 Shell 退出的方法就是使用nohup。

nohup命令后面跟著另外一個程序作為參數(shù),將會忽略所有的SIGHUP(掛起)信號。SIGHUP信號用來發(fā)送給進程,用來通知終端已經關閉了。

使用nohup命令來在后臺運行命令,請輸入:

nohup command &

命令輸出將會重定向到nohup.out文件。

nohup: ignoring input and appending output to 'nohup.out'

如果你登出或者關閉終端,進程不會被終止。

替代方案

有一些程序允許你在同一時間擁有多個非交互會話。

Screen

Screen 或者 GNU Screen 是一個終端多路復用程序,它允許你打開一個屏幕會話,并且在會話中打開任意多數(shù)量的窗口(虛擬終端)。在 Screen 中運行的進程,即便窗口不可見,甚至你失去連接,它們依然會運行。

Tmux

Tmux 是一個現(xiàn)代化的 GNU 屏幕交互程序。通過 Tmux,你可以創(chuàng)建一個會話,然后再會話中打開多個窗口。Tmux 會話是持久性的,這意味著即便你關閉了終端,這些 Tmux 上運行的程序依然會運行。

總結

為了在后臺運行命令,請在命令的后面添加符號&

當你在后臺運行命令時,你可以不需要等待它結束,就可以接著運行另外一個命令。

以上就是在后臺運行Linux命令的方法的詳細內容,更多關于后臺運行Linux命令的資料請關注腳本之家其它相關文章!

標簽:佛山 云南 晉中 衡水 安陽 南寧 巴中 畢節(jié)

巨人網(wǎng)絡通訊聲明:本文標題《在后臺運行Linux命令的方法》,本文關鍵詞  在,后臺,運行,Linux,命令,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在后臺運行Linux命令的方法》相關的同類信息!
  • 本頁收集關于在后臺運行Linux命令的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    磐石市| 奎屯市| 襄樊市| 增城市| 台安县| 洛扎县| 普定县| 梁山县| 广汉市| 那坡县| 济宁市| 汝阳县| 乳山市| 鹤峰县| 手机| 衡山县| 合山市| 溧水县| 兰西县| 泌阳县| 新蔡县| 依兰县| 昆明市| 普兰县| 京山县| 尼玛县| 花垣县| 康平县| 稻城县| 绍兴县| 深州市| 渭源县| 抚顺市| 亚东县| 玉龙| 洛南县| 连平县| 东乌珠穆沁旗| 淅川县| 永兴县| 武威市|