
假設我想運行一個 Java 程序,所以我會輸入
java myProgram
然後假設它在螢幕上列印一些輸出,但需要幾個小時才能完成運行。如果我想在運行時繼續在同一個終端上工作,我應該使用什麼命令?我嘗試了,最後似乎沒有成功。
答案1
&
只需在命令後面添加 即可。這將使命令在後台運行。
請注意,您仍然會得到它的輸出,因此您可能希望將輸出重新導向到/dev/null
某個設定檔。
例如,為了重定向 stdout 和 stderr:
java myProgram > /dev/null 2>&1 &
答案2
由於程式運行時間較長,您可能需要考慮使用螢幕。您可以執行該程序,然後使用 Control-a Control-c 啟動另一個命令提示字元。您可以根據需要多次執行此操作,並同時處理幾件事。此外,即使您登出然後稍後再登入(只是不要關閉),您也可以重新連接到螢幕並查看其運行情況。執行“man screen”以獲取資訊。
還有 tmux,這是一個類似的工具,但您需要安裝它。
答案3
我認為螢幕將最好地回答您的特定問題,但聽起來您的工作流程將從使用標籤中受益最多。
若要在終端機中開啟新選項卡,請按選擇的終端Ctrl+T,您可以透過按在選項卡之間切換Ctrl+上頁或者Ctrl+PgDown在它們之間切換。
這很快就會變得直觀,並且最終變得高效,因為您可以在選項卡之間快速切換以檢查長時間運行的程序,或者在您忙於處理長時間任務時快速生成更多選項卡。