sudo nohup很好< - 以什么顺序?
所以我有一个脚本,我想以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之前。
- 如果你想降低优先级(给漂亮正值)须藤之前做到这一点,因为你并不需要root权限。
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