LINUX.ORG.RU

в FAQ


0

0

13.19 Как запустить программу в фоне, без привязки к терминалу?

также можно "отвязать" от терминала программу, уже запущенную в фоновом режиме в bash, командой disown.

Пример:

bash-2.05b$ beep-media-player http://64.236.34.67:80/stream/2007 &
bash-2.05b$ disown beep-media-player

anonymous

Ответ на: комментарий от anonymous

Если запустить прогу способом 'program &', то при закрывании окна терминала убивается program, а при выходе по Ctrl+D она продолжает работать.

mikhail
()
Ответ на: комментарий от mikhail

> при закрывании окна терминала убивается program, а при выходе по Ctrl+D она продолжает работать.

Неправильно ты понимаешь... ;)

ivlad ★★★★★
()
Ответ на: комментарий от mikhail

студенту в качестве упражнения

> Ну у меня именно так почему-то

вот когда поймешь, тогда явишься и доложишь что и почему.

anonymous
()
Ответ на: комментарий от mikhail

> Ну у меня именно так почему-то. :) Закрываю bash с помощью крестика/Alt+F4 в KDE.

Читай логи на консоли X`ов.

anonymous
()

Ок

А назад ее как вернуть?

P.S. Смотрю в сторону screen

jackill ★★★★★
()
Ответ на: комментарий от Sun-ch

> А чё в ляпиксе команды nohup нет?

с каких пор?

mator ★★★★★
()
Ответ на: комментарий от jackill

Странно, а у меня работали конструкции типа

nohup make all&

^D

Весь stdout + stderr в файле nohup.out в $HOME


Sun-ch
()
Ответ на: комментарий от Pi

ну и nohup beep-media-player & тож пашет есесено

Pi ★★★★★
()
Ответ на: комментарий от mikhail

>Закрываю bash с помощью крестика

Майкл - это 5.

Sun-ch
()

Господа, если я не ошибаюсь, то конструкция типа
(command &)
дает эффект аналогичный nohup но без вывода в nohup.out?

octy ★★
()
Ответ на: комментарий от octy

ИМХО она просто запускает субшелл для выполнения команды.

nohup гарантирует что процесс созданный с ее помощью проигнорирует

sighup (например при смерти родителя) и будет исполнятся дальше.

Sun-ch
()
Ответ на: комментарий от Sun-ch

Да, я проверил, я был неправ. Эффект неубивания задачи при выходе (и используемый мной) достигается в этом случае видимо засчет того, что запускается неинтерактивный shell, а согласно man bash SIGHUP посылается при выходе из _интерактивного_ shell'a. Если же послать SIGHUP вручную, задача убивается, (а запущенная с nohup - нет).
Кстати, этим может ибъясняться и "ненормальное" поведение терминала Михаила.

В FAQ можно добавить, что если nohup.out раздражает, то можно запускать как
nohup command_name &>/dev/null &

octy ★★
()
Ответ на: комментарий от jackill

> Вот оно, fg. Япона мать, всю неделю вспоминал!!!

мама. и эти люди запрещают анонимусам ковыряться в носу. ;)

ivlad ★★★★★
()
Ответ на: комментарий от ivlad

позор! всем модераторам в срочном порядке пересдать нормативы боевой подготовки. линуксоид должен уметь собрать и разобрать ядро с завязанными глазами за 60 секунд!

anonymous
()
Ответ на: комментарий от ivlad

>мама. и эти люди запрещают анонимусам ковыряться в носу. ;)

я использую screen... ;)

jackill ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.