原文連結:http://www.cnblogs.com/andydao/p/4162479.html
1.在下達的指令後面加上&,就可以使該指令在背景進行工作,這樣做最大的好處就是不怕被ctrl+c這個中斷指令所中斷。 2. 那大家可能又要問了,在背景執行的程式怎麼使它恢複到前台來運作呢?很簡單,隻用執行fg這個指令,就可以了。 3.可能有些同學又要問了,我現在已經在前台運作的指令,我能把它放到背景去運作麼?當然可以了,隻要執行ctrl+z就可以做到了。是不是很贊啊! 4.說到這裡可能有些同學又要問了,如果我有多個程序在背景運作,那如何恢複到前台來執行呢?這時候就要用到jobs這個指令了,通過jobs這個指令,能夠列出所有在背景執行的程序,那個中括号([ ])裡面的數字就是 jobs 的代号啰 ,通過fg %number 就可以恢複指定的背景程序. 使用nohup讓程式在遠端主機背景運作 因為我購買的一個國外主機居然開放了Telnet權限,是以我也使用Telnet登入上去玩玩Linux,但發現一關閉視窗就自動和主機斷開了,和Windows的終端不一樣,是以就上網找啊找,找到了一個從背景一直運作某個程式的方法。 Unix/Linux下一般比如想讓某個程式在背景運作,很多都是使用 & 在程式結尾來讓程式自動運作。比如我們要運作mysql在背景: /usr/local/mysql/bin/mysqld_safe –user=mysql & 但是加入我們很多程式并不象mysqld一樣做成守護程序,可能我們的程式隻是普通程式而已,一般這種程式使用 & 結尾,但是如果終端關閉,那麼程式也會被關閉。但是為了能夠背景運作,那麼我們就可以使用nohup這個指令,比如我們有個test.php需要在背景運作,并且希望在背景能夠定期運作,那麼就使用nohup: nohup /root/test.php & 提示: [~]$ appending output to nohup.out 嗯,證明運作成功,同時把程式運作的輸出資訊放到目前目錄的 nohup.out 檔案中去。 附:nohup指令參考 nohup 指令 用途:不挂斷地運作指令。 文法:nohup Command [ Arg ... ] [ & ]
描述:nohup 指令運作由 Command 參數和任何相關的 Arg 參數指定的指令,忽略所
有挂斷(SIGHUP)信号。在登出後使用 nohup 指令運作背景中的程式。要運作背景中的 [...]
1. 背景運作的兩個指令 & 和 ctr+z
一開始就+“&”具體方法是: [指令]空格[&]
比如:
[[email protected] etc]# find / -name xml &
這樣,這個查找程式就會在背景運作。它運作的同時不影響你幹别的事情。
但是有的時候忘記了在指令之後加上„&‟符号,又不願意停下此指令重新改寫。這是可
以按[ctrl+z],把目前程式切入背景。
[[email protected] etc]# find / -name xml
/etc/xml
/usr/lib64/python2.4/xml
/usr/share/vim/vim70/autoload/xml
/usr/share/hplip/data/xml
/usr/share/java-utils/xml
/usr/share/xml
/usr/share/doc/libvorbis-devel-1.1.2/xml
/usr/local/apache-tomcat-6.0.14/webapps/examples/jsp/xml
/webapp/web/jsp/xml
[[email protected] etc]# find / -name xml
/etc/xml
/usr/lib64/python2.4/xml
/usr/share/vim/vim70/autoload/xml
/usr/share/hplip/data/xml
/usr/share/java-utils/xml
/usr/share/xml [1]+ Stopped find / -name xml 但是要注意此時在背景的這個程式是處于 Stopped 狀态(注意看上面最後一行)。 用jobs檢視下背景運作程式。 [[email protected] etc]# jobs [1]- Stopped find / -name xml [2]+ Stopped vi /etc/hosts 可以用指令bg 2。效果和一開始就用find / -name xml&是一樣了,讓此指令在背景運作了。 2.把背景程式調回前台 根據jobs的顯示,配合使用fg 2 就把對應的程式調回前台了