nohup 命令 保證程式後台執行

2021-09-11 08:13:23 字數 1382 閱讀 4155

在應用unix/linux時,我們一般想讓某個程式在後台執行,於是我們將常會用 & 在程式結尾來讓程式自動執行。這時可以後台執行,但是斷網和關閉終端都會終止任務。這樣我們就需要nohup命令,怎樣使用nohup命令呢?這裡講解nohup命令的一些用法。

【語法】:nohup command [ arg ... ] [ & ]

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

示例:nohup /root/start.sh &

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

【注】斷網後不會中斷伺服器上的任務,但是想主動關閉終端必須先主動exit來退出終端,不能執行完這個命令直接叉掉終端。即在當shell中提示了nohup成功後還需要按終端上鍵盤任意鍵退回到shell輸入命令視窗,然後通過在shell中輸入exit來退出終端。直接叉掉會斷掉該命令所對應的session,導致nohup對應的程序被通知需要一起shutdown。

pid和ppid的區別

1、pid(process id):

pid是程式被作業系統載入到記憶體成為程序後動態分配的資源。

2、ppid(parent process id):ppid是程式的父程序號。

3、pid和ppid都是非零的整數。

4、pid是唯一的,乙個pid只標識乙個程序。

5、乙個程序建立的另乙個新程序稱為子程序。相反地,建立子程序的程序稱為父程序。

1、檢視程序號

1)在當前終端檢視:jobs -l(注:jobs命令只看當前終端生效的,關閉終端後,在另乙個終端jobs已經無法看到後台跑得程式了,此時利用ps(程序檢視命令))

2)重新開的終端:ps -ef

2、 使用kill殺掉程序      

kill -9  程序號
注:kill命令後邊跟著的數字常用的有9種訊號:

<1> 1 終端斷線

<2>2 中斷(等同 ctrl + c)

<3>3 退出(同 ctrl + \)

<4>15 終止(可以使得程序在退出之前清理並釋放資源)

<5> 9 強制終止

<6>18 繼續(與19相反)

<7>19 暫停(等同 ctrl + z)

參考文章:

後台執行程式 nohup命令

在應用unix linux時,我們一般想讓某個程式在後台執行,於是我們將常會用 在程式結尾來讓程式自動執行。比如我們要執行mysql在後台 usr local mysql bin mysqld safe user mysql 可是有很多程式並不想mysqld一樣,這樣我們就需要nohup命令,怎樣使...

nohup程式後台執行

linux常用命令,用於不結束通話的執行程式。nohup命令 如果你正在執行乙個程序,而且你覺得在退出帳戶時該程序還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶 關閉終端之後繼續執行相應的程序。nohup就是不掛起的意思 no hang up nohup command arg 如果...

nohup 保證服務後台執行不中斷

1.nohup 用途 不結束通話地執行命令。語法 nohup command arg 無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 檔案中。如果當前目錄的 nohup.out 檔案不可寫,輸出重定向到 home nohup.out 檔案中。如果沒有檔案...