ssh 背景執行的小技巧

用 ssh 配合背景執行工作,可以省下很多時間,尤其是 COPY 目錄跟抓檔這種耗時的工作,如果能配合背景執行,就不用開一堆 ssh 的視窗了。


現在我們來看看如何做呢?

# wget http://www.realvnc.com/dist/vnc-4.0b5-x86_linux.tar.gz

想先做點其它的事,按下 Ctrl+Z 就是先離開這個工作:

[1]+ Stopped ncftp

[1] 就是這項工作的代碼, Stopped 代表工作「暫停」,讓你先做其它事。(有點類似 DOS 時代的 Shell 指令)

1.如果要回去的話按 fg 切換,或是 fg 1 指定回到第一個工作。
2.如果要把這項工作打入背景的話,就是輸入 bg 將前一個工作打入背景或 bg 1 指定第一個工作打入背景。

如果用 bg 在執行 ftp 或 wget 這類抓檔指令時,你就會看到:

[1]+ wget http://www.realvnc.com/dist/vnc-4.0b5-x86_linux.tar.gz -r & <== 重點就是最後這個 & 代表背景執行 而且整個畫面就回到抓擋的地方了,這........根本沒進背景嘛! 甚至有時檔案連抓都沒抓到! 特別要注意的是,如果 ssh 連線中斷,或是按 exit 離開 ssh 的時候,背景執行的所有指令也都會跟著停止。 遇到這種情況就要用 nohup 來做啦! #nohup wget http://www.realvnc.com/dist/vnc-4.0b5-x86_linux.tar.gz & <==最後要加 & 代表打入背景。 這時感覺會很像當掉沒動作,不過別擔心,直接按 Enter ,提示字元就會出來了。 但是如果忘了加 & 了,會變成怎樣呢? nohup wget http://www.realvnc.com/dist/vnc-4.0b5-x86_linux.tar.gz nohup: appending output to `nohup.out' 然後畫面就停住了! 如果還想在這個畫面做其它的事怎麼辦? 不過沒關係,其實程式還是有在執行的,還記得剛剛說的吧! 1.按 Ctrl+Z [1]+ Stopped nohup wget http://www.realvnc.com/dist/vnc-4.0b5-x86_linux.tar.gz 2.輸入 bg [1]+ nohup nohup wget http://www.realvnc.com/dist/vnc-4.0b5-x86_linux.tar.gz & 這樣就是跟一開始最後加 & 一樣的效果囉! 而且就算 ssh 連線中斷,還是會繼續抓檔喔!

2 comments On ssh 背景執行的小技巧

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar