日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nohup 命令(设置后台进程): appending output to ‘nohup.out’ 问题

發布時間:2025/4/5 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nohup 命令(设置后台进程): appending output to ‘nohup.out’ 问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Linux 下使用 nohup

Unix/Linux下一般比如想讓某個程序在后臺運行,很多都是使用 & 在程序結尾來讓程序自動運行。

比如我們要運行weblogic在后臺:
./startWebLogic.sh &

但是加入我們很多程序并不象weblogic一樣做成守護進程,可能我們的程序只是普通程序而已,一般這種程序使用 &結尾。

但是如果終端關閉,那么程序也會被關閉。

但是為了能夠后臺運行,那么我們就可以使用nohup這個命令。

比如我們有個startWebLogic.sh需要在后臺運行,那么就使用nohup:

nohup ./startWebLogic.sh &

提示:

[~]$ appending output to nohup.out

嗯,證明運行成功,同時把程序運行的輸出信息放到當前目錄的 nohup.out 文件中去。


nohup 命令

用途:LINUX命令用法,不掛斷地運行命令。

語法:nohup Command [ Arg ... ] [ & ]

描述:nohup 命令運行由 Command 參數和任何相關的 Arg 參數指定的命令,忽略所有掛斷(SIGHUP)信號。

在注銷后使用 nohup 命令運行后臺中的程序。要運行后臺中的 nohup 命令,添加 & ( 表示“and”的符號)到命令的尾部。

nohup: ignoring input and appending output to `nohup.out'? 忽略輸入輸出,將信息化信息記錄到nohup.out文件中。

?

二、使用Linux重定向解決nohup.out無寫權限問題

■場景

執行nohup命令的時候,經常會出現下面這種沒有寫入權限的錯誤。

nohup: ignoring input and appending output to `nohup.out'
nohup: failed to run command `/etc/nginx_check.sh': Permission denied

?

■linux重定向:

0、1和2分別表示標準輸入、標準輸出和標準錯誤信息輸出,可以用來指定需要重定向的標準輸入或輸出。

在一般使用時,默認的是標準輸出,既1。當我們需要特殊用途時,可以使用其他標號。

例如,將某個程序的錯誤信息輸出到log文件中:./program 2>log。

這樣標準輸出還是在屏幕上,但是錯誤信息會輸出到log文件中。

?

另外,也可以實現0,1,2之間的重定向。2>&1:將錯誤信息重定向到標準輸出。

Linux下還有一個特殊的文件/dev/null,它就像一個無底洞,所有重定向到它的信息都會消失得無影無蹤。

這一點非常有用,當我們不需要回顯程序的所有信息時,就可以將輸出重定向到/dev/null。

如果想要正常輸出和錯誤信息都不顯示,則要把標準輸出和標準錯誤都重定向到/dev/null, 例如:

# ls 1>/dev/null 2>/dev/null

還有一種做法是將錯誤重定向到標準輸出,然后再重定向到 /dev/null,例如:

# ls >/dev/null 2>&1

注意:此處的順序不能更改,否則達不到想要的效果,此時先將標準輸出重定向到 /dev/null,

然后將標準錯誤重定向到標準輸出。

由于標準輸出已經重定向到了/dev/null,因此標準錯誤也會重定向到/dev/null,于是一切靜悄悄。

?

■關于nohup

在使用nohup命令的時候,經常由于輸出nohup.out的路徑沒有寫入權限,而無法使用nohup。

這是可以使用Linux重定向的方法,將nohup.out重定向至一個有寫入權限的路徑,或者直接扔到/dev/null中。

nohup ./program >/dev/null 2>/dev/null &

或者

nohup ./program >/dev/null 2>&1 &

?

三、使用nohup設置后臺進程

引言: 有時候需要在Linux上設置一個后臺進程,但是當你關閉terminal之時,它會被系統kill掉,那該如何來實現其后臺進程能一直運行下去呢?

使用方式:

nohup command-with-options &

當在屏幕上敲擊上述命令之后,屏幕上會出現如下信息:

$ nohup: ignoring input and appending output to `nohup.out’

敲擊回車,就退出了nohup.out當前的界面,進入正常的命令行。

輸出日志信息:

接下來的輸出的日志信息,將輸出到nohup.log.即將屏幕上輸出的日志信息直接輸出到nohup.log文件。

后臺進程的標志符:

如果一個命令只使用&來標識,則表示其在當前Session中,運行在后臺。如果當前Session關閉或者當前的terminal工具關閉,則其附屬的進程將會關閉。

正常運行的后臺進程都是需要nohup與&,兩者并行使用的,方可保證其在后臺正常運行。

?

轉自:https://blog.csdn.net/blueheart20/article/details/78226066

? ? ? ? ? ?https://www.cnblogs.com/quchunhui/p/5582371.html

? ? ? ? ? ?http://aniyo.iteye.com/blog/1496442

?

使用Linux重定向解決nohup.out無寫權限問題

■場景

執行nohup命令的時候,經常會出現下面這種沒有寫入權限的錯誤。

nohup: ignoring input and appending output to `nohup.out'
nohup: failed to run command `/etc/nginx_check.sh': Permission denied

?

■linux重定向:

0、1和2分別表示標準輸入、標準輸出和標準錯誤信息輸出,可以用來指定需要重定向的標準輸入或輸出。

在一般使用時,默認的是標準輸出,既1。當我們需要特殊用途時,可以使用其他標號。

例如,將某個程序的錯誤信息輸出到log文件中:./program 2>log。這樣標準輸出還是在屏幕上,但是錯誤信息會輸出到log文件中。

另外,也可以實現0,1,2之間的重定向。2>&1:將錯誤信息重定向到標準輸出。

Linux下還有一個特殊的文件/dev/null,它就像一個無底洞,所有重定向到它的信息都會消失得無影無蹤。

這一點非常有用,當我們不需要回顯程序的所有信息時,就可以將輸出重定向到/dev/null。

如果想要正常輸出和錯誤信息都不顯示,則要把標準輸出和標準錯誤都重定向到/dev/null, 例如:

# ls 1>/dev/null 2>/dev/null

還有一種做法是將錯誤重定向到標準輸出,然后再重定向到 /dev/null,例如:

# ls >/dev/null 2>&1

注意:此處的順序不能更改,否則達不到想要的效果,此時先將標準輸出重定向到 /dev/null,然后將標準錯誤重定向到標準輸出,

由于標準輸出已經重定向到了/dev/null,因此標準錯誤也會重定向到/dev/null,于是一切靜悄悄。

?

■關于nohup

在使用nohup命令的時候,經常由于輸出nohup.out的路徑沒有寫入權限,而無法使用nohup。

這是可以使用Linux重定向的方法,將nohup.out重定向至一個有寫入權限的路徑,或者直接扔到/dev/null中。

nohup ./program >/dev/null 2>/dev/null &

或者

nohup ./program >/dev/null 2>&1 &

轉載于:https://www.cnblogs.com/klb561/p/10153834.html

總結

以上是生活随笔為你收集整理的nohup 命令(设置后台进程): appending output to ‘nohup.out’ 问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。