中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中&與nohup命令怎么用

發布時間:2021-10-23 15:36:06 來源:億速云 閱讀:153 作者:小新 欄目:系統運維

這篇文章主要為大家展示了“Linux中&與nohup命令怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Linux中&與nohup命令怎么用”這篇文章吧。

我們以下面一個test程序來模擬產生大量log的程序,這個程序每隔1秒就會打印一句“Hello world!”:

#include  #include  #include  int main() {    fflush(stdout);     setvbuf(stdout, NULL, _IONBF, 0);     while (1) {         printf("Hello world!\n");         sleep(1);     }}

現在,我們想要一個清靜的世界,終端上不要有大量的log出現,我們要求test程序在后臺運行。

##&##

這種方法很簡單,就是在命令之后加個“&”符號就可以了,如下:

./test &

這樣一來,test程序就在后臺運行了。但是,這樣處理還不夠,因為這樣做雖然程序是在后臺運行了,但log依然不停的輸出到當前終端。因此,要讓終端徹底的清靜,還應將log重定向到指定的文件:

./test >> out.txt 2>&1 &

2>&1是指將標準錯誤重定向到標準輸出,于是標準錯誤和標準輸出都重定向到指定的out.txt文件中,從此終端徹底清靜了。

但是這樣做要注意,如果Test程序需要從標準輸入接收數據,它就會在那死等,不會再往下運行。所以需要從標準輸入接收數據,那這種方法最好不要使用。

那現在程序在后臺運行了,我們怎么找到它呢?很簡單,有兩種方法:

1. jobs命令

jobs命令可以查看當前有多少在后臺運行。

jobs -l

此命令可顯示所有任務的PID,jobs的狀態可以是running, stopped, Terminated。但是如果任務被終止了(kill),shell  從當前的shell環境已知的列表中刪除任務的進程標識。

2. ps命令

ps aux | grep test

##nohup命令##

在命令的末尾加個&符號后,程序可以在后臺運行,但是一旦當前終端關閉(即退出當前帳戶),該程序就會停止運行。那假如說我們想要退出當前終端,但又想讓程序在后臺運行,該如何處理呢?

實際上,這種需求在現實中很常見,比如想遠程到服務器編譯程序,但網絡不穩定,一旦掉線就編譯就中止,就需要重新開始編譯,很浪費時間。

在這種情況下,我們就可以使用nohup命令。nohup就是不掛起的意思( no hang up)。該命令的一般形式為:

nohup ./test &

如果僅僅如此使用nohup命令的話,程序的輸出會默認重定向到一個nohup.out文件下。如果我們想要輸出到指定文件,可另外指定輸出文件:

nohup ./test > myout.txt 2>&1 &

這樣一來,多管齊下,既使用了nohup命令,也使用了&符號,同時把標準輸出/錯誤重定向到指定目錄下。

使用了nohup之后,很多人就這樣不管了,其實這樣有可能在當前賬戶非正常退出或者結束的時候,命令還是自己結束了。所以在使用nohup命令后臺運行命令之后,需要使用exit正常退出當前賬戶,這樣才能保證命令一直在后臺運行。

以上是“Linux中&與nohup命令怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湘西| 龙井市| 寿光市| 岚皋县| 吴忠市| 大城县| 应用必备| 台中县| 桃园市| 浦北县| 福建省| 卢龙县| 毕节市| 扬州市| 安顺市| 光泽县| 铜川市| 宜春市| 汉源县| 阿拉善盟| 丁青县| 安西县| 湖口县| 大冶市| 县级市| 靖州| 泾阳县| 浪卡子县| 绥江县| 鄱阳县| 黄山市| 砀山县| 河北省| 南木林县| 吉安县| 大港区| 晋宁县| 德州市| 夏河县| 安阳县| 通辽市|