Различия между & ldquo; < command > & Амп; открестился & Rdquo; и & ldquo; nohup < command > & Амп; открестился & Rdquo;

Я (в основном) решил эту проблему, делая что-то простое. Я пошел в свойства принтера и изменил «URI устройства». Я выбрал «LPD / LPR Host или Printer» и использовал свой IP-адрес вместо одного из сетевых принтеров, который предлагает Ubuntu.

Это решает мою общую медленность печати, поскольку страницы сразу попадают на принтер. Единственным исключением являются файлы PDF, которые все еще требуют времени для печати. ​​

35
задан 21 April 2015 в 18:30

2 ответа

Ваше понимание в основном корректно. И disown и nohup используются, чтобы позволить Вам выходить из рабочей сессии оболочки, не останавливая рабочие задания. Некоторые разъяснения:

  • нет никакой причины работать nohup command & disown, nohup будет уже отрицать его для Вас.

  • nohup определены POSIX, в то время как disown не . Это означает, что, в то время как много оболочек (например, bash, zsh, ksh) имеют его, у других (например tcsh, csh, dash и sh) не будет его.

  • disown может использоваться после , команда была запущена, в то время как nohup должен использоваться прежде.

Насколько я могу сказать, фактический эффект двух команд является тем же. У каждого из них есть функции, которому другой недостает (см. help disown и man nohup), но их основная функция является тем же, да.

Для намного более детального обсуждения этих инструментов и различий между ними, взгляните на ответы здесь:

27
ответ дан 22 April 2015 в 04:30

Ваши первые к третьим точкам кажутся в порядке, хотя stdin, stdout and stderr are still bound to the terminal не правильное понятие. stdin всегда связывается с терминалом в том смысле, что Вы всегда вводили бы имя файла к команде через терминал или способы использовать терминал. stdout and stderr are still bound to the terminal в порядке.

Ваш имеют stdin, stdout and stderr are not still bound to the terminal в четвертой точке, которая не является правильной, как упомянуто в моем более раннем абзаце. Также вот, пожалуйста использование /dev/null как входной файл к command, например, если команда cat, Вы используете его как cat /dev/null.

Команда на Вашей 5-й точке правильно не помещается, Вы использовали nohup <command> & disown, при использовании любого из nohup или disown другой не нужен. Их целями является то же (для игнорирования SIGHUP) но они функционируют немного другим способом. Таким образом, команда может быть упрощена как nohup <command> &.

7
ответ дан 22 April 2015 в 04:30

Другие вопросы по тегам:

Похожие вопросы: