詳解Linux中nohup和 的用法和區別

2021-09-28 18:36:14 字數 1449 閱讀 2853

示例 :

我們用python**loop_hello.py做示例,**的作用是迴圈輸出迴圈次數和hello world!,每次輸出後sleep 1秒

示例**如下:

import time

def main():

i = 0

while true:

i += 1

print('%d: hello world!' %(i))

time.sleep(1)

if '__main__' == __name__:

main()

執行loop_hello.py,輸出結果如下:

程式每隔一秒會在終端輸出乙個字串,此時如果鍵入ctrl+c ,程式會收到乙個sigint訊號,如果不做特殊處理,程式的預設行為是終止(如上圖)。

&

使用 python loop_hello.py &,效果如下所示:

1) 前台沒有出現程序號

2) 有乙個「忽略輸入並把輸出追加到"nohup.out"」的提示

3) hello的輸出也沒有出現在前台

1) 使用ps aux | grep loop_hello檢視程序號

2) 關掉session,程式會收到乙個sighup訊號

3) 再次使用ps aux | grep loop_hello,發現程序仍然存在

4) kill掉程序

1) 使用nohup啟動loop_hello.py,如果鍵入ctrl+c ,程式收到sigint訊號後,直接關閉了

&和nohup同時使用

1. 使用nohup python loop_hello.py &執行程式,效果如下:

2. 鍵入ctrl + c,傳送sigint訊號 使用ps aux檢視,程序仍然存在

3. 關閉session,傳送sighup訊號 使用ps aux檢視,程序依然存在

4. 如果想要終止程序的話,只能使用ps和kill了

總結 :

使用&後台執行程式:

使用nohup執行程式:

平日線上經常使用nohup和&配合來啟動程式:

Linux 系統 nohup 命令詳解

nohup nohup 命令執行由 command引數和任何相關的 arg引數指定的命令,忽略所有結束通話 sighup 訊號。在登出後使用 nohup 命令執行後台中的程式。要執行後台中的 nohup 命令,新增 表示 and 的符號 到命令的尾部。nohup 是 no hang up 的縮寫,就...

Linux學習之nohup命令詳解

在實際生產環境中,平時常常因為實際需求,要在後台掛起乙個指令碼或者是程序,如果是掛起程序還可以使用 xinetd 服務來進行守護程序,但是如果只是需要在後台掛起乙個指令碼的話,使用 xinetd 服務就有點不太合適了,還好 linux系統 中有提供乙個很好的不結束通話地執行命令 nohup 我們使用...

原創 Linux 中的 nohup 與

目錄測試 一直沒搞清楚nohup與 的區別,看著公司裡遺留的shell,也就稀里糊塗地用著.這是很糟糕的態度 使程序在後台執行,預設輸出到標準輸出 即當前螢幕 除非重定向輸出.此時忽略 sigint 訊號.若關閉會話,則程序會結束 程序仍舊在前台跑,預設輸出到nohup.out.此時程序忽略 sig...