2014-02-26 27 views
1

使用作業我知道這個過程正在運行。如何知道過程是否設置爲NOHUP?

bash-4.2$ jobs 
[1]+ Running     test.sh & 

我希望它被設置爲NOHUP,以便它在我退出時不會被殺死。我用

disown 

bash-4.2$ jobs 

說明不了什麼。我不確定該進程是否設置爲NOHUP。我對此很好奇,因爲在閱讀說明書後,它說

disown -h 

應該用來設置NOHUP。

編輯

我並不認爲鏈接Find the Process run by nohup command幫助。問題與那個不同。

我要重申我的問題。我在沒有nohup的情況下運行一個程序,之後我希望它被設置爲NOHUP,以便在我退出系統時不會被殺死。所以我用disown,但後來我發現手冊說我應該用disown -h設置NOHUP。我想檢查我的進程是否設置爲NOHUP或不成功。如果沒有,我能做些什麼來設置它爲NOHUP?

+0

可能重複[查找nohup命令運行過程中(http://stackoverflow.com/questions/14151928/find-the-process-run-by-nohup-command) –

+0

@jaypal我已經讀過這個線程,但是我仍然不知道如果設置了NOHUP,哪一列'ps'會顯示出來?它沒有說明我正在尋找的答案。 –

+0

我把答案..希望有幫助 – MLSC

回答

0

UPDATE

我知道兩個方面我是有幫助的:

1)每當進程運行在nohup它在〜/寫nohup.out的輸出。所以你可以通過運行命令find -cmin 2來檢查這個文件。它顯示你是否每2秒更換一次nohup.out。 如果它正在改變,你會明白,某事被nohup命令運行後,您可以用lsof檢查,並繼續您的支票......

2)如果從特定用戶註銷andgo到tty然後做ps aux | grep <user>ps aux | grep ?然後你就可以明白,這是與nohup命令運行...因爲沒有pts那麼它會顯示你,而不是...

有用的命令:

ps aux | grep <program> | awk -F" " '{print $7}' 

希望對大家有所幫助

+0

我看不到'任務'的任何輸出,但'ps -ef'仍然顯示pid。這是什麼意思?我想知道該進程是否設置爲NOHUP。 –

+0

您應該閱讀該鏈接中接受的答案 – MLSC

+0

在'super user'和'unix&linux'上詢問您的問題...你可以在這些問答中找到它 – MLSC

相關問題