Как открыть приложение в терминале и отсоединить его? [Дубликат]

16

Я открыл Cairo-dock в моем терминале с помощью: open cairo-dock , и это сработало, но если я закрою терминал, он будет с ним работать. Как я могу держать его открытым независимо от терминала?

    
задан Jryl 05.03.2013 в 12:34
источник

3 ответа

20
  

nohup является командой POSIX, чтобы игнорировать сигнал HUP (hangup). Сигнал HUP (зависания) согласуется с тем, как терминал предупреждает о зависящих процессах выхода из системы.   Вывод, который обычно отправляется на терминал, отправляется в файл с именем nohup.out, если он еще не был перенаправлен.   nohup - это низкоуровневая утилита, просто настраивающая команду для игнорирования сигнала. Как видно ниже, nohup очень далек от полнофункциональной пакетной системы, которая решает все проблемы запуска программ асинхронно.

См. руководство:

man nohup

Пример:

nohup cairo-dock &
    
ответ дан oerdnj 05.03.2013 в 12:36
источник
16

Еще один способ: disown

В оболочке bash команда disown builtin используется для удаления заданий из таблицы заданий или для отметки заданий, чтобы сигнал SIGHUP не отправлялся им, если родительская оболочка получает ее (например, если пользователь выходит из системы) .

Например:

cairo-dock & disown
    
ответ дан pileofrocks 05.03.2013 в 14:46
7

Я лично использую экран для такого рода материалов.

screen -d -m -S cairo_session open cairo-dock

Что хорошего в этом, так это то, что если вы хотите завершить работу cairo-dock, вы можете подключиться к сеансу экрана и завершить его.

screen -S cairo_session -X quit

Экран использует другое использование. Это терминальный мультиплексор.

    
ответ дан llt 05.03.2013 в 13:32