Ssh
nohup 不會在 SSH 會話中顯示下一個提示
假設我在遠端 Ubuntu 系統上通過 SSH 連接。我想在那裡執行一個腳本
nohup
,以防潛在的連接斷開並將其日誌重定向到一個文件。我執行的命令是nohup bash myscript.sh > log.txt &
然後,終端列印腳本的 PID 和消息:
nohup 忽略輸入並將標準錯誤重定向到標準輸出
Ctrl
游標在那裡凍結,除非我使用+退出 SSH 會話並重新登錄,否則我無法執行其他命令D
。我希望 SSH 會話保持打開狀態並繼續下一個終端提示,而無需重新登錄。有什麼辦法可以做到這一點?
如您所料,此命令在後台執行。然而,在這個特定的例子中,有一個競爭條件,輸出消息是在 shell 提示符之後部分寫入的。
視覺結果要麼是 shell 提示在
nohup
消息之前,要麼是完全被覆蓋。實際的結果是,因為 shell 已經寫出了它的提示符,所以它已經準備好執行下一個命令了。您可以按 Enter 生成新的提示,或者直接鍵入下一個命令。