linux中如何讓命令在后臺(tái)運(yùn)行 |
發(fā)布時(shí)間: 2012/8/10 14:20:47 |
1.在下達(dá)的命令后面加上&,就可以使該命令在后臺(tái)進(jìn)行工作,這樣做最大的好處就是不怕被ctrl+c這個(gè)中斷指令所中斷。
2. 那大家可能又要問了,在后臺(tái)執(zhí)行的程序怎么使它恢復(fù)到前臺(tái)來運(yùn)行呢?很簡單,只用執(zhí)行fg這個(gè)命令,就可以了。 3.可能有些同學(xué)又要問了,我現(xiàn)在已經(jīng)在前臺(tái)運(yùn)行的命令,我能把它放到后臺(tái)去運(yùn)行么?當(dāng)然可以了,只要執(zhí)行ctrl+z就可以做到了。是不是很贊啊! 4.說到這里可能有些同學(xué)又要問了,如果我有多個(gè)進(jìn)程在后臺(tái)運(yùn)行,那如何恢復(fù)到前臺(tái)來執(zhí)行呢?這時(shí)候就要用到j(luò)obs這個(gè)命令了,通過jobs這個(gè)命令,能夠列出所有在后臺(tái)執(zhí)行的進(jìn)程,那個(gè)中括號(hào)([ ])里面的數(shù)字就是 jobs 的代號(hào)啰 ,通過fg %number 就可以恢復(fù)指定的后臺(tái)進(jìn)程. 使用nohup讓程序在遠(yuǎn)程主機(jī)后臺(tái)運(yùn)行 因?yàn)槲屹徺I的一個(gè)國外主機(jī)居然開放了Telnet權(quán)限,因此我也使用Telnet登錄上去玩玩Linux,但發(fā)現(xiàn)一關(guān)閉窗口就自動(dòng)和主機(jī)斷開了,和Windows的終端不一樣,所以就上網(wǎng)找啊找,找到了一個(gè)從后臺(tái)一直運(yùn)行某個(gè)程序的方法。 Unix/Linux下一般比如想讓某個(gè)程序在后臺(tái)運(yùn)行,很多都是使用 & 在程序結(jié)尾來讓程序自動(dòng)運(yùn)行。比如我們要運(yùn)行mysql在后臺(tái): /usr/local/mysql/bin/mysqld_safe –user=mysql & 但是加入我們很多程序并不象mysqld一樣做成守護(hù)進(jìn)程,可能我們的程序只是普通程序而已,一般這種程序使用 & 結(jié)尾,但是如果終端關(guān)閉,那么程序也會(huì)被關(guān)閉。但是為了能夠后臺(tái)運(yùn)行,那么我們就可以使用nohup這個(gè)命令,比如我們有個(gè)test.php需要在后臺(tái)運(yùn)行,并且希望在后臺(tái)能夠定期運(yùn)行,那么就使用nohup: nohup /root/test.php & 提示: [~]$ appending output to nohup.out 嗯,證明運(yùn)行成功,同時(shí)把程序運(yùn)行的輸出信息放到當(dāng)前目錄的 nohup.out 文件中去。 附:nohup命令參考 nohup 命令 用途:不掛斷地運(yùn)行命令。 語法:nohup Command [ Arg ... ] [ & ] 描述:nohup 命令運(yùn)行由 Command 參數(shù)和任何相關(guān)的 Arg 參數(shù)指定的命令,忽略所有掛斷(SIGHUP)信號(hào)。在注銷后使用 nohup 命令運(yùn)行后臺(tái)中的程序。要運(yùn)行后臺(tái)中的 [...] 1. 后臺(tái)運(yùn)行的兩個(gè)命令 & 和 ctr+z 一開始就+“&”具體方法是: [命令]空格[&] 比如: [root@pcmxexweb etc]# find / -name xml & 這樣,這個(gè)查找程序就會(huì)在后臺(tái)運(yùn)行。它運(yùn)行的同時(shí)不影響你干別的事情。 但是有的時(shí)候忘記了在命令之后加上‘&’符號(hào),又不愿意停下此命令重新改寫。這是可以按[ctrl+z],把當(dāng)前程序切入后臺(tái)。 [root@pcmxexweb 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 [root@pcmxexweb 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 但是要注意此時(shí)在后臺(tái)的這個(gè)程序是處于 Stopped 狀態(tài)(注意看上面最后一行)。 用jobs查看下后臺(tái)運(yùn)行程序。 [root@pcmxexweb etc]# jobs [1]- Stopped find / -name xml [2]+ Stopped vi /etc/hosts 可以用命令bg 2。效果和一開始就用find / -name xml&是一樣了,讓此命令在后臺(tái)運(yùn)行了。 2.把后臺(tái)程序調(diào)回前臺(tái) 根據(jù)jobs的顯示,配合使用fg 2 就把對(duì)應(yīng)的程序調(diào)回前臺(tái)了 本文出自:億恩科技【www.allwellnessguide.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |