linux: nohup命令

來源:互聯網
上載者:User

 

用nohup命令讓Linux下程式永遠在後台執行

http://linux.chinaunix.net/techdoc/system/2009/09/01/1133290.shtml

Unix/Linux下一般想讓某個程式在後台運行,很多都是使用 & 在程式結尾來讓程式自動運行。比如我們要運行mysql在後台:

    /usr/local/mysql/bin/mysqld_safe --user=mysql &

但是我們很多程式並不象mysqld一樣可以做成守護進程,可能我們的程式只是普通程式而已,一般這種程式即使使用&結尾,如果終端關閉,那麼程式也會被關閉。為了能夠後台運行,我們需要使用nohup這個命令,比如我們有個start.sh需要在後台運行,並且希望在後台能夠一直運行,那麼就使用nohup:

    nohup /root/start.sh &

在shell中斷行符號後提示:

    [~]$ appending output to nohup.out

原程式的的標準輸出被自動改向到目前的目錄下的nohup.out檔案,起到了log的作用。

但是有時候在這一步會有問題,當把終端關閉後,進程會自動被關閉,察看nohup.out可以看到在關閉終端瞬間服務自動關閉。

諮詢紅旗Linux工程師後,他也不得其解,在我的終端上執行後,他啟動的進程竟然在關閉終端後依然運行。在第二遍給我示範時,我才發現我和他操作終端時的一個細節不同:他是在當shell中提示了nohup成功後還需要按終端上鍵盤任意鍵退回到shell輸入命令視窗,然後通過在shell中輸入exit來退出終端;而我是每次在nohup執行成功後直接點關閉程式按鈕關閉終端.。所以這時候會斷掉該命令所對應的session,導致nohup對應的進程被通知需要一起shutdown。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.