人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

在后臺運(yùn)行Linux命令的方法

發(fā)布日期:2022-01-26 11:58 | 文章來源:gibhub

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

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

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

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

在后臺運(yùn)行一個 Linux 命令

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

command &

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

[1] 25177

你可以在后臺同時運(yùn)行很多進(jìn)程。

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

command > /dev/null 2>&1 &

>/dev/null 2>&1 意味著 將stdout轉(zhuǎn)向/dev/null,而 stderr轉(zhuǎn)向sdtout。

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

jobs -l

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

[1]+ 25177 Running   ping google.com &

想要將后臺進(jìn)程轉(zhuǎn)到前臺的話,請使用fg命令:

fg

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

fg %1

想要停止后臺進(jìn)程,請在kill命令后添加進(jìn)程 ID:

kill -9 25177

將前臺進(jìn)程移動到后臺

想要將一個前臺進(jìn)程移動到后臺:

01.通過按鍵Ctrl+Z停止當(dāng)前進(jìn)程

02.通過輸入bg將停止進(jìn)程移動到后臺去

保持后臺進(jìn)程運(yùn)行直到 Shell 退出

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

一個方法就是從 Shell 任務(wù)控制中移除任務(wù),使用內(nèi)建的disown

disown

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

disown %1

通過使用jobs -l來確認(rèn)任務(wù)已經(jīng)從任務(wù)表中移除。為了列出正在運(yùn)行的進(jìn)程,請使用ps aux命令。

另外一個保證進(jìn)程運(yùn)行,直到 Shell 退出的方法就是使用nohup。

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

使用nohup命令來在后臺運(yùn)行命令,請輸入:

nohup command &

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

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

如果你登出或者關(guān)閉終端,進(jìn)程不會被終止。

替代方案

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

Screen

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

Tmux

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

總結(jié)

為了在后臺運(yùn)行命令,請在命令的后面添加符號&

當(dāng)你在后臺運(yùn)行命令時,你可以不需要等待它結(jié)束,就可以接著運(yùn)行另外一個命令。

以上就是在后臺運(yùn)行Linux命令的方法的詳細(xì)內(nèi)容,更多關(guān)于后臺運(yùn)行Linux命令的資料請關(guān)注本站其它相關(guān)文章!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部