sudo nohup gine < - в каком порядке?
Вопрос
Так что у меня есть сценарий, который я хочу запустить как корень, без повествования и красиво. В какой заказ мне следует поместить команды?
Sudo nohup хороший foo.bash &
или же
nohup хороший sudo foo.bash &
и т.п.
Я подозреваю, что это не имеет значения, но хотелось бы получить представление о тех, кто В самом деле знать.
Решение
Если желательно негативная приятность, я бы сделал: Sudo nohup Nice Command, потому что, согласно `info coreutils 'nohup, должен предстоящий отлично. Если я хочу отрицательную хорошую ценность, Sudo должен прийти раньше, так как только root может использовать отрицательные значения NICE.
Если желательна позитивная приятность, я бы сделал просто: Nohup Nice Sudo Command, это гарантирует, что Nohup и Nice не работают с привилегиями Root.
Другие советы
Sudo не может уважать милость. По крайней мере, это не на моей машине (Ubuntu 9.04). Запуск этого:
nice sudo nice
sudo nice nice
Отпечатывает 0 и 10. (Обратите внимание, что «приятно» без командных печати текущей любезности.)
Sudo должен идти в последний раз, чтобы Nohup и Nice не работали с корневыми привилегиями.
Итак, последний
~ $ sudo nohup nice whoami
nohup: ignoring input and appending output to `nohup.out'
~ $ sudo cat nohup.out
root
Разница между первым и вторым способом, которым вы сделали это, состоит в том, кто владеет файлом nohup.out. sudo
Сначала сделает его принадлежащим root, nohup
Прежде чем Sudo сделает его принадлежащим вашему пользователю.
Не согласен с другими ответами. Я рекомендую:
sudo nohup nice foo.sh
Я заметил NOHUP SUDO #потерпеть неудачу -IE NOHUP не всегда передается в SUDO'D Sub-Processes (это было для определенных сценариев /etc/init.d на Ubuntu, которые делегировали в другие сценарии). Не уверен, почему, безусловно, удивительно, но был так, и у меня было хорошо, чтобы отлаживать.
(Я отмечаю, что другие сообщают о том, что приятность не проходит, поэтому, кажется, лучше всего выразить это ... хотя, если вы сомневаетесь в вашей ОС, ранее, потому что приятно не вступить в силу, как правило, меньше проблемы, чем NOHUP, не вступая в силу!)
Обратите внимание, что Sudo nohup оставляет nohup.out, принадлежащий root, также, как было упомянуто, но это исправлено:
sudo nohup nice foo.sh >> /tmp/foo.stdout.log 2>> /tmp/foo.stderr.log
Я предполагаю, что все они делают исполнительного* syscall, чтобы передать мяч следующему, так что, независимо от того, что порядок, он не оставит никаких висящих процессов.
Я бы сказал, что Нохуп должен быть последним, чтобы двое других не подали обработчик сигнала. (Я уверен, что милый не играет с сигналами, но Sudo.)
Тогда, Sudo и Nice, все зависит от того, каким образом вы хотите изменить приоритет планирования с помощью NICE.
- Если вы хотите поднять приоритет (то есть, дайте отрицательную ценность NICE) DO SUDO раньше.
- Если вы хотите снизить приоритет (дайте хорошую положительную ценность) сделайте это перед Sudo, так как вам не нужны корневые привилегии.