nohup輸入密碼后繼續在后台運行


一般在前台(即在當前終端,這里尤其指通過secureCRT或者putty連接遠程終端)下運行短時間任務沒有問題,但是如果運行長時間任務,比如傳輸大文件,比如編譯大版本,就算你有功夫在前台等待但萬一一不小心碰到了網線導致網絡中斷,就直接導致任務執行一半就掛掉,不得不重來的尷尬事件。

命令在后台運行

在命令末尾添加&符號以達到命令在后台運行,更好的做法是在命令之前添加nohup,即:

1
[mars@gms03 build]$ nohup make -j 48 &
1
[mars@gms03 build]$ nohup zip -e virus -r sample.zip sample &

對上述耗時但不需要交互的命令,我們采用上述方法,命令便能很好的工作,如果出現了錯誤也會記載在nohup.out文件中,但是如果我們命令需要交互,恐怕這類方法就不管用了,比如scp傳輸文件時需要輸入目的用戶的密碼等。

對此我們稍作優化便可以解決上述問題:

使用scp傳輸大文件

注意末尾不用加&

1
2
3
[mars@gms03 build]$ nohup scp MARS_2.2_1268.tar.gz 10.96.251.72:/data
nohup: appending output to `nohup.out'
Password:

輸入密碼后按:ctrl+z

1
[1]+  Stopped                 nohup scp MARS_2.2_1268.tar.gz 10.96.251.72:/data

然后緊接着輸入:

1
[mars@gms03 build]$ bg

上述命令便又能在后台恢復運行了

1
[1]+ nohup scp MARS_2.2_1268.tar.gz 10.96.251.72:/data
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM