後台執行程式 nohup命令

2021-07-03 06:00:32 字數 1612 閱讀 1987

在應用unix/linux時,我們一般想讓某個程式在後台執行,於是我們將常會用 & 在程式結尾來讓程式自動執行。比如我們要執行mysql在後台: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程式並不想mysqld一樣,這樣我們就需要nohup命令,怎樣使用nohup命令呢?這裡講解nohup命令的一些用法。

nohup /root/start.sh &

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

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

諮詢紅旗linux工程師後,他也不得其解,在我的終端上執行後,他啟動的程序竟然在關閉終端後依然執行。

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

這個細節有人和我一樣沒注意到,所以在這兒記錄一下了。

nohup 命令

用途:不結束通話地執行命令。

語法:nohup command [ arg … ] [ & ]

描述:nohup 命令執行由 command 引數和任何相關的 arg 引數指定的命令,忽略所有結束通話(sighup)訊號。在登出後使用 nohup 命令執行後台中的程式。要執行後台中的 nohup 命令,新增 & ( 表示」and」的符號)到命令的尾部。

無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 檔案中。如果當前目錄的 nohup.out 檔案不可寫,輸出重定向到 $home/nohup.out 檔案中。如果沒有檔案能建立或開啟以用於追加,那麼 command 引數指定的命令不可呼叫。如果標準錯誤是乙個終端,那麼把指定的命令寫給標準錯誤的所有輸出作為標準輸出重定向到相同的檔案描述符。

退出狀態:該命令返回下列出口值:

126 可以查詢但不能呼叫 command 引數指定的命令。

127 nohup 命令發生錯誤或不能查詢由 command 引數指定的命令。

否則,nohup 命令的退出狀態是 command 引數指定命令的退出狀態。

nohup命令及其輸出檔案

nohup命令:如果你正在執行乙個程序,而且你覺得在退出帳戶時該程序還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶/關閉終端之後繼續執行相應的程序。nohup就是不掛起的意思( n ohang up)。

該命令的一般形式為:nohup command &

使用nohup命令提交作業

如果使用nohup命令提交作業,那麼在預設情況下該作業的所有輸出都被重定向到乙個名為nohup.out的檔案中,除非另外指定了輸出檔案:

nohup command > myout.file 2>&1 &

在上面的例子中,輸出被重定向到myout.file檔案中。

使用 jobs 檢視任務。

使用 fg %n 關閉。

work for fun,live for love!

nohup後台執行程式

1 bin bash 2 ulimit s 2621400 3 ulimit c 2048000 4 sleep25 killall 9 ljyx sghall new 6 sleep 27 trap 12 3248 nohup ljyx sghall new ljyx sghall new.log...

nohup後台執行程式

問題描述 開啟終端,使用nohup後台啟動服務之後,只要關掉終端,服務就down了 期望結果 關掉終端後,服務依然後台保持執行 技術分析 unix linux下一般想讓某個程式在後台執行,很多都是使用 在程式結尾來讓程式自動執行 但如果要想在退出終端後,程式依然還在後台執行,則要用nohup與 組合...

Linux後台執行程式 nohup命令詳解

命令為 nohup python u test.py test.log 2 1 最後乙個 後台執行程式 nohup 程式不被掛起 python 執行python jupyter lab表示執行jupyter lab u 不啟用快取,實時輸出列印資訊到日誌檔案 如果不加 u,則會導致日誌檔案不會實時重...