linux中讓命令在后臺運行_Linux教程

      編輯Tag賺U幣

      在Linux中我們在下達的命令后面加上&,就可以使該命令在后臺進行工作,這樣做最大的好處就是不怕被ctrl+c這個中斷指令所中斷。那大家可能又要問了,在后臺執行的程序怎么使它恢復到前臺來運行呢?很簡單,只用執行fg這個命令,就可以了。可能有些同學又要問了,我現在已經在前臺運行的命令,我能把它放到后臺去運行么?當然可以了,只要執行ctrl+z就可以做到了。是不是很贊啊!說到這里可能有些同學又要問了,如果我有多個進程在后臺運行,那如何恢復到前臺來執行呢?這時候就要用到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

        一開始就+“&”具體方法是: [命令]空格[&]

        比如:

        [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 狀態(注意看上面最后一行)。

        用jobs查看下后臺運行程序。

        [root@pcmxexweb etc]# jobs

        [1]- Stopped                 find / -name xml

        [2]+ Stopped                 vi /etc/hosts

        可以用命令bg 2。效果和一開始就用find / -name xml&是一樣了,讓此命令在后臺運行了。

        2.把后臺程序調回前臺

        根據jobs的顯示,配合使用fg 2 就把對應的程序調回前臺了

       

      來源:網絡搜集//所屬分類:Linux教程/更新時間:2011-12-08
      相關Linux教程