使用nohup讓SSH客戶端斷開後保持程序繼續執行

2021-10-25 02:14:14 字數 929 閱讀 6118

本文參考阿里雲幫助中心:

nohup可以使後面的命令不會響應結束通話(sighup)訊號。也就是說,通過遠端登入執行nohup命令後,即使退出登入後,程式還是會正常執行。通常情況下,nohup命令最後會跟上&字元,表示將這個命令放至後台執行,這樣才能真正做到將這個命令放至後台持續的執行。具體示例如下所示。

執行如下命令,每秒輸出一行資訊。

bash hello.sh
系統顯示類似如下。

2.在命令頭尾分別加上nohup和&,如下所示,可以看到nohup輸出了一行資訊,再按一下回車鍵就跳回了shell命令列,此時命令已經在後台執行了,nohup將命令的輸出重定向至當前目錄的nohup.out檔案中。同時注意到nohup會將對應程式的pid輸出,pid可用於需要中斷程序時結束程序。

nohup bash hello.sh &
系統顯示類似如下。

3.通過如下命令,可以持續的檢視nohup.out的輸出,達到監視程式的效果。

tail -f nohup.out
檢視完之後可以按ctrl+c退出,程式繼續執行。

4.在命令中也可以使用重定向將程式的輸出改為自己想要的檔名,如下所示,則程式的輸出就會寫到hello.log檔案中。

nohup bash hello.sh >hello.log &
5.若程式不會自動退出,那麼此時需要使用kill命令來結束程序。例如,可以使用如下命令,結束程序。

殺死程序:kill -9 pid

ssh客戶端簡單使用

secure shell,只是一種協議,實現它的軟體有很多,我們常用的開源又免費的軟體叫openssh,分為客戶端和服務端。不是運維,服務端我沒搞過,所以這裡只講客戶端用法,大部分程式設計師應該只要知道客戶端使用就好了。安裝openssh clients,然後就可以通過ssh agent連線遠端伺服...

ssh客戶端的選擇

目前主流的ssh工具有 finalshell xshell securecrt。筆者之前用securecrt和xshell,最近一直在用finalshell,securecrt介面功能較多,但是是英文版,中文版漢化不全或存bug,讓我苦惱的是輸出內容太費眼了,行間距太窄且無法調節。xshell跟se...

幾款SSH客戶端

securecrt xshell putty等都僅僅是客戶端軟體,一般用於windows客戶端計算機,因此,無論選擇哪款客戶端ssh工具都是可以的。1 securecrt 8.1版本 securecrt是一款支援ssh ssh1和ssh2 協議的終端 軟體,常被用來執行於windows下遠端登入un...