Linux終端具有豐富的多工處理能力。您可以在系統上已經執行的虛擬控制檯之間切換,使用Bash job control在後臺執行程序,並利用GNU screen這一終端“視窗管理器”
你不必一次只執行一個命令。無論您是希望在後臺執行程序並偶爾重新訪問它,還是同時執行多個耗時的任務,Linux都提供了幾個選項。
預設情況下,大多數Linux系統都有幾個在後臺執行的虛擬控制檯。透過按Ctrl-Alt並在F1和F6之間按一個鍵在它們之間切換。Ctrl-Alt-F7通常會將您帶回圖形X伺服器。
按組合鍵將進入登入提示。您可以登入並執行一個命令,然後切換到別處–該命令將在後臺繼續執行,因此您可以同時執行多個不同的終端會話。
這裡的“tty1”文字表示這是位於Ctrl-Alt-F1的終端,tty2將位於F2。
這些只是最常見的設定——不同的Linux發行版執行的虛擬控制檯可能更少,X伺服器可能位於不同的位置。
bashshell為處理多個程序提供了自己的特性。作業控制允許您執行程序並附加和分離它們。附加的程序稱為前臺程序,而分離的程序稱為後臺程序。
要在後臺啟動程序,請在其命令後新增字元(&C)。例如,要將Nano文字編輯器作為後臺作業開啟,請鍵入以下命令:
nano &
[1]表示新作業的作業ID為1。3751是它的程序ID。
我們啟動的每個作業都有自己的作業ID。執行jobs命令可檢視當前正在執行的作業的列表。加號表示最後與shell關聯的作業,而–號表示倒數第二個與shell關聯的作業。
fg命令允許您將後臺作業帶到前臺,並將其附加到當前shell。在不指定作業的情況下執行fg或其他與作業相關的命令將使用最後一個關聯的作業–作業列表中帶有+號的作業。也可以指定作業編號。例如,以下命令將使作業1返回前臺:
fg %1
正常結束一個程序,它將從正在執行的作業列表中消失。如果要從當前shell分離作業,請使用^Z–即Ctrl-Z–鍵盤快捷鍵。
gnuscreen是一個“全屏視窗管理器”,它允許您在一個終端中使用多個shell。它可能不是預設安裝的-它不在Ubuntu上。在Ubuntu或Debian上,使用以下命令安裝螢幕:
sudo apt-get install screen
安裝之後,執行screen命令,您將看到有關screen的一些資訊。
按空格鍵或回車鍵,您將看到一個外觀正常的終端。
它看起來可能並不特別,但這個shell實際上是在GNU螢幕中執行的。按Ctrl-a,然後按d從螢幕分離。你會回到正常的終點站。
要重新連線到screen,請執行screen-r命令。你會回到以前的終點站。
你可以用螢幕做更多的事情。例如,透過按Ctrl-a,然後按c在螢幕中建立一個新的“視窗”(終端)。一旦有多個視窗,按Ctrl-a兩次在它們之間切換。您也可以按Ctrl-a,然後按“檢視視窗列表”。
在列表中選擇一個視窗,然後按Enter鍵切換到該視窗。
我們以前寫過關於使用GNU螢幕的文章,並討論了使用Byobu,它增強了GNU螢幕。
...行時,稱為多執行緒應用程式。多執行緒處理對於同時執行多個任務非常有用。下面的示例顯示了一個多執行緒程序。T1、T2、T3為螺紋。 執行緒也可以分為兩種型別。它們是使用者執行緒和核心執行緒。核心不支援使用者執行...
... 在您真正充分利用終端之前,您需要知道如何導航它。這就是為什麼我們認為這些是最基本的Linux命令:如果你不能更改目錄或者在一個你不記得如何使用的命令上獲得幫助,那麼再多的終端知識也幫不了你。 ...
...能本機引入之前,您可以依賴一些第三方方法。下面介紹如何在macOS上啟動同一應用程式的多個例項。 ...