linux中如何讓命令在后臺運行 |
發(fā)布時間: 2012/8/10 14:20:47 |
1.在下達的命令后面加上&,就可以使該命令在后臺進行工作,這樣做最大的好處就是不怕被ctrl+c這個中斷指令所中斷。
2. 那大家可能又要問了,在后臺執(zhí)行的程序怎么使它恢復到前臺來運行呢?很簡單,只用執(zhí)行fg這個命令,就可以了。 3.可能有些同學又要問了,我現在已經在前臺運行的命令,我能把它放到后臺去運行么?當然可以了,只要執(zhí)行ctrl+z就可以做到了。是不是很贊啊! 4.說到這里可能有些同學又要問了,如果我有多個進程在后臺運行,那如何恢復到前臺來執(zhí)行呢?這時候就要用到jobs這個命令了,通過jobs這個命令,能夠列出所有在后臺執(zhí)行的進程,那個中括號([ ])里面的數字就是 jobs 的代號啰 ,通過fg %number 就可以恢復指定的后臺進程. 使用nohup讓程序在遠程主機后臺運行 因為我購買的一個國外主機居然開放了Telnet權限,因此我也使用Telnet登錄上去玩玩Linux,但發(fā)現一關閉窗口就自動和主機斷開了,和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 一開始就+“&”具體方法是: [命令]空格[&] 比如: [root@pcmxexweb etc]# find / -name xml & 這樣,這個查找程序就會在后臺運行。它運行的同時不影響你干別的事情。 但是有的時候忘記了在命令之后加上‘&’符號,又不愿意停下此命令重新改寫。這是可以按[ctrl+z],把當前程序切入后臺。 [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 但是要注意此時在后臺的這個程序是處于 Stopped 狀態(tài)(注意看上面最后一行)。 用jobs查看下后臺運行程序。 [root@pcmxexweb etc]# jobs [1]- Stopped find / -name xml [2]+ Stopped vi /etc/hosts 可以用命令bg 2。效果和一開始就用find / -name xml&是一樣了,讓此命令在后臺運行了。 2.把后臺程序調回前臺 根據jobs的顯示,配合使用fg 2 就把對應的程序調回前臺了 本文出自:億恩科技【www.cmtents.com】 |