Назад | Перейти на главную страницу

Linux: фоновый процесс, связанный с окном терминала

Я запускаю Linux, и я запускаю скрипт / программу в фоновом режиме, используя

cmd &

Это отлично работает в Solaris, но в моем Linux (2.6.9-55 / Red Hat) фоновый процесс останавливается, когда исходное окно терминала закрывается / теряется соединение. Что мне нужно изменить, чтобы это работало так же, как и в Solaris?

если вы запустите nohup cmd &, программа будет игнорировать сигнал SIGHUP, который он получает при закрытии терминала.

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

Пример:

cmd &
disown

должен сделать свое дело.

Если вы хотите позже повторно подключить задание к терминалу, используйте:

disown -h

Как вариант, вы можете использовать screen. Используйте это так:

screen
cmd

Затем, чтобы вернуться в терминал, нажмите ctrl + a, затем d.

Чтобы вернуться к экрану, введите в любом терминале:

screen -r