Ssh

nohup 不會在 SSH 會話中顯示下一個提示

  • August 20, 2020

假設我在遠端 Ubuntu 系統上通過 SSH 連接。我想在那裡執行一個腳本nohup,以防潛在的連接斷開並將其日誌重定向到一個文件。我執行的命令是

nohup bash myscript.sh > log.txt &

然後,終端列印腳本的 PID 和消息:

nohup 忽略輸入並將標準錯誤重定向到標準輸出

Ctrl游標在那裡凍結,除非我使用+退出 SSH 會話並重新登錄,否則我無法執行其他命令D。我希望 SSH 會話保持打開狀態並繼續下一個終端提示,而無需重新登錄。有什麼辦法可以做到這一點?

如您所料,此命令在後台執行。然而,在這個特定的例子中,有一個競爭條件,輸出消息是在 shell 提示符之後部分寫入的。

視覺結果要麼是 shell 提示在nohup消息之前,要麼是完全被覆蓋。

實際的結果是,因為 shell 已經寫出了它的提示符,所以它已經準備好執行下一個命令了。您可以按 Enter 生成新的提示,或者直接鍵入下一個命令。

引用自:https://unix.stackexchange.com/questions/605383