在 Linux 後臺執行多個命令
簡介
在 Linux 後臺執行多個命令是一個非常有用的功能,它允許使用者同時執行多個任務。當執行需要較長時間才能完成的長執行命令時,這尤其有用,因為它允許使用者在後臺命令執行的同時繼續處理其他任務。
在 Linux 後臺執行命令有幾種方法,包括使用"&"運算子和"nohup"命令。在本文中,我們將探討這些方法並提供如何使用它們的示例。
使用 "&" 運算子在後臺執行命令
在 Linux 後臺執行命令最直接的方法之一是使用"&"運算子。此運算子用於在後臺執行命令並將終端控制權返回給使用者。
要使用"&"運算子,只需將其附加到要在後臺執行的命令的末尾即可。例如,要在後臺執行sleep命令,您將輸入以下命令:
$ sleep 45 &
此命令將執行sleep命令,這將導致終端暫停45秒,然後將終端控制權返回給使用者。該命令將繼續在後臺執行,直到完成。
您可以使用jobs命令檢視當前系統上正在執行的後臺作業列表。例如:
$ jobs [1]+ Running sleep 60 &
您還可以使用"fg"命令將後臺作業調到前臺,並使用"bg"命令將作業傳送到後臺。例如,要將"sleep"命令調到前臺,您將輸入以下命令:
$ fg %1
使用 "nohup" 在後臺執行命令
在 Linux 後臺執行命令的另一種方法是使用nohup命令。此命令用於執行不受掛起訊號影響的命令,即使關閉終端或使用者登出,該命令也可以繼續執行。
要使用nohup命令,只需輸入"nohup",然後輸入要在後臺執行的命令即可。例如,要使用nohup在後臺執行sleep命令,您將輸入以下命令:
$ nohup sleep 60 &
此命令將執行sleep命令並將終端控制權返回給使用者。即使關閉終端或使用者登出,該命令也會繼續在後臺執行,直到完成。
預設情況下,命令的輸出將重定向到當前工作目錄中的名為"nohup.out"的檔案。如果需要,您可以使用">"運算子將輸出重定向到不同的檔案。例如:
$ nohup sleep 60 > output.txt &
此命令將執行"sleep"命令並將輸出重定向到當前工作目錄中的名為"output.txt"的檔案。
使用"nohup"還有一個額外的好處,即使您沒有透過終端登入到系統,也可以在後臺執行命令。例如,如果您想在遠端伺服器上執行命令然後斷開與伺服器的連線,這將非常有用。
結論
在 Linux 後臺執行多個命令是一個有用的功能,它允許使用者同時執行多個任務。在 Linux 後臺執行命令有幾種方法,包括使用"&"運算子和"nohup"命令。透過使用這些方法,您可以在後臺執行長執行命令的同時繼續處理其他任務。
請記住使用"jobs"命令檢視當前系統上正在執行的後臺作業列表,並分別使用"fg"和"bg"命令將後臺作業調到前臺或將其傳送到後臺。
使用"nohup"還有一個額外的好處,即使您沒有透過終端登入到系統,也可以在後臺執行命令,這對於在遠端伺服器上執行命令非常有用。
總而言之,在後臺執行命令是 Linux 中一個非常有價值的工具,可以幫助提高生產力和效率。因此,對於 Linux 使用者來說,這是一個非常有用的功能。