2011-09-22 6 views
1

при выполнении команды с nohup необходимо выполнить в фоновом режиме.Выполнение команды с nohup в фоновом режиме

Если единственное, что требуется в том, что команда не должна висеть при закрытии терминала, то, что является differnce в (команда поЬир &) и (команда поЬир) ?

Оба вышеуказанных утверждения способствуют этому.

ответ

0

& в конце указывает, что команда должна работать в фоновом режиме. Это означает, что вы можете продолжать вводить команды в оболочку.

Для вашего конкретного вопроса это не имеет никакого значения, поскольку кажется, что вы хотите закрыть окно терминала сразу же.

+1

Неправда. (команда nohup), если вы запустите ее в окне терминала и закроете ее после запуска, будут убиты. Сделайте это в окне и закройте его: (nohup sh -c «echo before; sleep 10; echo after») вы никогда не увидите «после» вывода в файле. – e40

+0

На самом деле, я вижу «после» в файле nohup.out, и это именно то, что я ожидал. Если бы это было так, как вы говорите, команда nohup была бы совершенно бесполезной. Может быть, ваш эмулятор терминала неисправен и посылает какой-то другой сигнал? Что еще может убить, как вы говорите? Испытайте это с помощью 'xterm', если вы мне не верите. – raimue

+0

Да, я полагаю, что Раим прав, потому что я также выполнил команду с nohup, но не в фоновом режиме. Я получил то, что ожидалось. Команда выполнялась даже после закрытия окна терминала – mandeep

1

Да, необходимо, чтобы вы выполнили его в фоновом режиме, если хотите, чтобы оболочка могла выйти.

+0

В среде X-окна вы можете закрыть эмулятор терминала. То есть просто закройте окно терминала, которое посылает сигнал HUP всем подключенным программам. Вам нужно nohup игнорировать этот сигнал. – raimue

Смежные вопросы