詳述Linux後台運行命令(三)

來源:互聯網
上載者:User

Linux後台運行命令前面介紹了cron和crontab、at這兩個命令,後面這裡繼續介紹&,使用這個命令將不會佔據終端,將進程放入後台運行。還是要講Linux後台運行命令加以比較學習,結合舉例印象更深。

&

當在前台運行某個作業時,終端被該作業佔據;而在後台運行作業時,它不會佔據終端。可以使用&命令把作業放到後台執行。

該命令的一般形式為:

命令&

在後台運行作業時要當心:需要使用者互動的命令不要放在後台執行,因為這樣你的機器就會在那裡傻等。
不過,作業在後台運行一樣會將結果輸出到螢幕上,幹擾你的工作。如果放在後台啟動並執行作業會產生大量的輸出,最好使用下面的方法把它的輸出重新導向到某個檔案中:

command >out.file 2>&1 &

在上面的例子中,2>&1表示所有的標準輸出和錯誤輸出都將被重新導向到一個叫做out.file 的檔案中。
當你成功地提交進程以後,就會顯示出一個進程號,可以用它來監控該進程,或殺死它。

例一:

尋找名為“httpd.conf”的檔案,並把所有標準輸出和錯誤輸出重新導向到f i n d . d t的檔案中:

# find /etc/httpd/ -name "httpd.conf" -print >find.dt 2>&1 &
[2] 7832
[1]   Done                    find /etc/ -name "httpd.conf" -print >find.dt 2>&1 &

成功提交該命令之後,系統給出了它的進程號7832。

# cat find.dt
/etc/httpd/conf/httpd.conf
[2]+  Done                    find /etc/httpd/ -name "httpd.conf" -print >find.dt 2>&1 &

查看find.dt,可以看到執行結果

例二:
在後台執行指令碼,如:有一個叫psl的指令碼

$ps psl &
[7878]

用ps命令查看進程

用提交命令時所得到的進程號來監控它的運行。用p s命令和g r e p命令列出這個進程:

# ps -x |grep 7832
7868 pts/0    S      0:00 grep 7832

如果系統不支援ps x命令,可以用:

# ps -ef |grep 7832
root      7866  7790  0 23:40 pts/0    00:00:00 grep 7832

在用p s命令列出進程時,它無法確定該進程是運行在前台還是後台。

殺死後台進程

殺死後台進程可以使用k i l l命令。當一個進程被放到後台運行時, s h e l l會給出一個進程號,我們可以根據這個進程號,用k i l l命令殺死該進程。該命令的基本形式為:

kill -signal [process_number]

現在暫且不要考慮其中的各種不同訊號。
在殺進程的時候,執行下面的命令(你的進程號可能會不同)並按斷行符號鍵。系統將會給出相應的資訊告訴使用者進程已經被殺死。

$kill 7832

如果系統沒有給出任何資訊,告訴你進程已經被殺死,那麼不妨等一會兒,也許系統正在殺該進程,如果還沒有回應,就再執行另外一個k i l l命令,這次帶上一個訊號選項:

$kill - 9 7868

如果用上述方法提交了一個後台進程,那麼在退出時該進程將會被終止。下一講還會介紹另一個Linux後台運行命令n o h u p。

  1. 詳述Linux後台運行命令二)
  2. 全面解析Linux profile檔案
  3. 深入分析Linux分區基礎
  4. 全面解析Linux profile檔案
  5. 詳細剖析Linux防火牆配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.