nohup 命令(設置後臺進程): appending output to ‘nohup.out’ 問題

<div id="cnblogs_post_body" class="blogpost-body "> <h2>1、Linux 下使用 nohup</h2> <p>Unix/Linux下通常好比想讓某個程序在後臺運行,不少都是使用 &amp; 在程序結尾來讓程序自動運行。</p> <p>好比咱們要運行weblogic在後臺:<br>./startWebLogic.sh &amp;</p> <p>可是加入咱們不少程序並不象weblogic同樣作成守護進程,可能咱們的程序只是普通程序而已,通常這種程序使用 &amp;結尾。</p> <p>可是若是終端關閉,那麼程序也會被關閉。</p> <p>可是爲了可以後臺運行,那麼咱們就可使用nohup這個命令。</p> <p>好比咱們有個startWebLogic.sh須要在後臺運行,那麼就使用nohup:</p> <p>nohup ./startWebLogic.sh &amp;</p> <p>提示:</p> <p>[~]$ appending output to nohup.out</p> <p>嗯,證實運行成功,同時把程序運行的輸出信息放到當前目錄的 nohup.out 文件中去。</p> <p><br>nohup 命令</p> <p>用途:LINUX命令用法,不掛斷地運行命令。</p> <p>語法:nohup Command [ Arg ... ] [ &amp; ]</p> <p>描述:nohup 命令運行由 Command 參數和任何相關的 Arg 參數指定的命令,忽略全部掛斷(SIGHUP)信號。</p> <p>在註銷後使用 nohup 命令運行後臺中的程序。要運行後臺中的 nohup 命令,添加 &amp; ( 表示「and」的符號)到命令的尾部。</p> <p><strong>nohup: ignoring input and appending output to `nohup.out'&nbsp; 忽略輸入輸出,將信息化信息記錄到nohup.out文件中。</strong></p> <p>&nbsp;</p> <h2><a name="t1"></a>2、<a id="cb_post_title_url" href="https://www.cnblogs.com/quchunhui/p/5582371.html" rel="nofollow" target="_blank">使用Linux重定向解決nohup.out無寫權限問題</a></h2> <p>■場景</p> <p>執行nohup命令的時候,常常會出現下面這種沒有寫入權限的錯誤。</p> <p>nohup: ignoring input and appending output to `nohup.out'<br>nohup: failed to run command `/etc/nginx_check.sh': Permission denied</p> <p>&nbsp;</p> <p>■linux重定向:</p> <p>0、1和2分別表示標準輸入、標準輸出和標準錯誤信息輸出,能夠用來指定須要重定向的標準輸入或輸出。</p> <p>在通常使用時,默認的是標準輸出,既1。當咱們須要特殊用途時,可使用其餘標號。</p> <p>例如,將某個程序的錯誤信息輸出到log文件中:./program 2&gt;log。</p> <p>這樣標準輸出仍是在屏幕上,可是錯誤信息會輸出到log文件中。</p> <p>&nbsp;</p> <p>另外,也能夠實現0,1,2之間的重定向。2&gt;&amp;1:將錯誤信息重定向到標準輸出。</p> <p>Linux下還有一個特殊的文件/dev/null,它就像一個無底洞,全部重定向到它的信息都會消失得無影無蹤。</p> <p>這一點很是有用,當咱們不須要回顯程序的全部信息時,就能夠將輸出重定向到/dev/null。</p> <p>若是想要正常輸出和錯誤信息都不顯示,則要把標準輸出和標準錯誤都重定向到/dev/null, 例如:</p> <p># ls 1&gt;/dev/null 2&gt;/dev/null</p> <p>還有一種作法是將錯誤重定向到標準輸出,而後再重定向到 /dev/null,例如:</p> <p># ls &gt;/dev/null 2&gt;&amp;1</p> <p>注意:此處的順序不能更改,不然達不到想要的效果,此時先將標準輸出重定向到 /dev/null,</p> <p>而後將標準錯誤重定向到標準輸出。</p> <p>因爲標準輸出已經重定向到了/dev/null,所以標準錯誤也會重定向到/dev/null,因而一切靜悄悄。</p> <p>&nbsp;</p> <p>■關於nohup</p> <p>在使用nohup命令的時候,常常因爲輸出nohup.out的路徑沒有寫入權限,而沒法使用nohup。</p> <p>這是可使用Linux重定向的方法,將nohup.out重定向至一個有寫入權限的路徑,或者直接扔到/dev/null中。</p> <p>nohup ./program &gt;/dev/null 2&gt;/dev/null &amp;</p> <p>或者</p> <p>nohup ./program &gt;/dev/null 2&gt;&amp;1 &amp;</p> <p>&nbsp;</p> <h2><a name="t2"></a>3、使用nohup設置後臺進程</h2> <p>引言: 有時候須要在Linux上設置一個後臺進程,可是當你關閉terminal之時,它會被系統kill掉,那該如何來實現其後臺進程能一直運行下去呢?</p> <p>使用方式:</p> <blockquote> <p>nohup command-with-options &amp;</p>html

</blockquote> <p>當在屏幕上敲擊上述命令以後,屏幕上會出現以下信息:</p> <blockquote> <p>$ nohup: ignoring input and appending output to `nohup.out’</p>linux

</blockquote> <p>敲擊回車,就退出了nohup.out當前的界面,進入正常的命令行。</p> <p>輸出日誌信息:</p> <p>接下來的輸出的日誌信息,將輸出到nohup.log.即將屏幕上輸出的日誌信息直接輸出到nohup.log文件。</p> <p>後臺進程的標誌符:</p> <h1 id="後臺進程的標識符"><a name="t2" target="_blank"></a></h1> <p>若是一個命令只使用&amp;來標識,則表示其在當前Session中,運行在後臺。若是當前Session關閉或者當前的terminal工具關閉,則其附屬的進程將會關閉。</p> <p>正常運行的後臺進程都是須要nohup與&amp;,二者並行使用的,方可保證其在後臺正常運行。</p> <p>&nbsp;</p> <p>轉自:<a href="https://blog.csdn.net/blueheart20/article/details/78226066" rel="nofollow" target="_blank">https://blog.csdn.net/blueheart20/article/details/78226066</a></p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<a href="https://www.cnblogs.com/quchunhui/p/5582371.html" rel="nofollow" target="_blank">https://www.cnblogs.com/quchunhui/p/5582371.html</a></p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<a href="http://aniyo.iteye.com/blog/1496442" rel="nofollow" target="_blank">http://aniyo.iteye.com/blog/1496442</a></p> <p>&nbsp;</p> <h1 class="postTitle"><a id="cb_post_title_url" class="postTitle2" href="https://www.cnblogs.com/quchunhui/p/5582371.html">使用Linux重定向解決nohup.out無寫權限問題</a></h1> <div class="postBody"> <div id="cnblogs_post_body" class="blogpost-body"> <div id="article_content" class="article_content"> <p>■場景</p> <p>執行nohup命令的時候,常常會出現下面這種沒有寫入權限的錯誤。</p> <p>nohup: ignoring input and appending output to `nohup.out'<br>nohup: failed to run command `/etc/nginx_check.sh': Permission denied</p> <p>&nbsp;</p> <p>■linux重定向:</p> <p>0、1和2分別表示標準輸入、標準輸出和標準錯誤信息輸出,能夠用來指定須要重定向的標準輸入或輸出。</p>nginx

</div> <p>在通常使用時,默認的是標準輸出,既1。當咱們須要特殊用途時,可使用其餘標號。</p> <p>例如,將某個程序的錯誤信息輸出到log文件中:./program 2&gt;log。這樣標準輸出仍是在屏幕上,可是錯誤信息會輸出到log文件中。</p> <p>另外,也能夠實現0,1,2之間的重定向。2&gt;&amp;1:將錯誤信息重定向到標準輸出。</p> <p>Linux下還有一個特殊的文件/dev/null,它就像一個無底洞,全部重定向到它的信息都會消失得無影無蹤。</p> <p>這一點很是有用,當咱們不須要回顯程序的全部信息時,就能夠將輸出重定向到/dev/null。</p> <p class="article_content">若是想要正常輸出和錯誤信息都不顯示,則要把標準輸出和標準錯誤都重定向到/dev/null, 例如:</p> <p class="article_content"># ls 1&gt;/dev/null 2&gt;/dev/null</p> <p class="article_content">還有一種作法是將錯誤重定向到標準輸出,而後再重定向到 /dev/null,例如:</p> <p class="article_content"># ls &gt;/dev/null 2&gt;&amp;1</p> <p class="article_content">注意:此處的順序不能更改,不然達不到想要的效果,此時先將標準輸出重定向到 /dev/null,而後將標準錯誤重定向到標準輸出,</p> <p class="article_content">因爲標準輸出已經重定向到了/dev/null,所以標準錯誤也會重定向到/dev/null,因而一切靜悄悄。</p> <p class="article_content">&nbsp;</p> <p class="article_content">■關於nohup</p> <p class="article_content">在使用nohup命令的時候,常常因爲輸出nohup.out的路徑沒有寫入權限,而沒法使用nohup。</p> <p class="article_content">這是可使用Linux重定向的方法,將nohup.out重定向至一個有寫入權限的路徑,或者直接扔到/dev/null中。</p> <p class="article_content">nohup ./program &gt;/dev/null 2&gt;/dev/null &amp;</p> <p class="article_content">或者</p> <p class="article_content">nohup ./program &gt;/dev/null 2&gt;&amp;1 &amp;</p>web

</div> 原文地址:https://www.cnblogs.com/klb561/p/10153834.htmlapp

</div> </div>工具

相關文章
相關標籤/搜索