所以我有一個腳本,我想以root身份運行,沒有掛斷和很好。我應該使用什麼命令?sudo nohup很好< - 以什麼順序?
須藤nohup的不錯foo.bash &
或
nohup這個漂亮的須藤foo.bash &
等
我懷疑這並不重要,但想從一些有識之士那些真的知道。
所以我有一個腳本,我想以root身份運行,沒有掛斷和很好。我應該使用什麼命令?sudo nohup很好< - 以什麼順序?
須藤nohup的不錯foo.bash &
或
nohup這個漂亮的須藤foo.bash &
等
我懷疑這並不重要,但想從一些有識之士那些真的知道。
,我會做: 須藤nohup的不錯命令 因爲根據'信息的coreutils'的nohup應該preceed不錯。如果我想要一個不錯的值,sudo必須早於此值,因爲只有root可以使用負值。
如果需要正面的好看,我會這麼做: nohup nice sudo命令 這確保nohup和nice不以root權限運行。
sudo應該最後一次,以便nohup和nice不以root權限運行。
因此後者
~ $ sudo nohup nice whoami
nohup: ignoring input and appending output to `nohup.out'
~ $ sudo cat nohup.out
root
你所做的第一和第二種方法之間的差異是誰擁有nohup.out文件中。 sudo
首先會使其擁有root,nohup
sudo將使其擁有您的用戶。
我想他們都會用exec * syscall來傳遞球給下一個球,所以,無論順序如何,它都不會留下任何掛起的進程。
我會說nohup應該是最後的,以便兩個其他不clober信號處理程序。 (我敢肯定好看不打信號,但須藤確實。)
然後,須藤和漂亮,這一切都取決於你想用漂亮的改變調度優先級哪種方式。
sudo可能不尊重善意。至少,它不在我的機器上(Ubuntu 9.04)。運行:如果負正派所需
nice sudo nice
sudo nice nice
打印出0到10(需要注意的是「好」,沒有命令打印出當前正派)
其他每個答案都會錯誤。 Debian Squeeze是一樣的:漂亮不會貫穿`sudo`。這也是一個恥辱,因爲細粒度的sudoers會阻止允許運行的命令。 – 2012-06-01 21:54:10
不同意與其他的答案。我建議:
sudo nohup nice foo.sh
我觀察nohup的須藤#fail - 即nohup的不總是傳送到sudo'd子子過程(這是對某些的/ etc /初始化。 Ubuntu上的腳本被委託給其他腳本)。不知道爲什麼,肯定令人驚訝,但是是這樣,並花了很長時間才調試。 (我注意到其他人報告沒有被傳遞好,所以似乎最好把它放在最後......雖然如果您的操作系統懷疑早點放好,因爲好的沒有生效通常不是沒有問題的問題,而不是nohup不是生效)
注意須藤nohup的葉的nohup.out由root擁有,也可作爲已經提到,但是這固定有:
sudo nohup nice foo.sh >> /tmp/foo.stdout.log 2>> /tmp/foo.stderr.log
感謝您的答覆。你能詳細談談sudo玩信號嗎? (或者只是提供一個鏈接:)謝謝! – 2008-12-08 21:59:14