Neo's Blog

首頁 相本 討論 書籤

分類目錄
本站日誌 (51)
碎碎唸啦 (173)
網站架設 (84)
程式設計 (161)
軟體使用 (69)
電子商務 (126)
經營奇想 (48)
基金理財 (11)
聰明消費 (87)
電影心得 (47)
開放原碼 (16)
工作記錄 (2)
毛毛小記 (9)
就是不同 (2)




歷史資料
 




June 17, 2004
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 連線中斷,還是會繼續抓檔喔!

 
由 Neo 發表於 June 17, 2004 09:12 PM 收進你的MyShare個人書籤  

Cool , 常常不小心按到 ctrl+z ...就不知道怎回去了 XD


Leeabc 發表於 December 5, 2007 08:40 PM

#nohup wget http://www.realvnc.com/dist/vnc-4.0b5-x86_linux.tar.gz &
那這個是不是連
#都要的?


發表於 March 18, 2008 06:49 PM
發表迴響  
(*星號開頭為必填欄位)











(請輸入您看到的數字,看不到請按右鍵->顯示圖片)


記住我的資訊?







Copyright 2005 Neo's Blog All rights reserved.