Я запускаю 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