Я знаю, что вы можете использовать nohup для продолжения работы после выхода из системы, но как насчет процесса, который уже запущен?
Есть ли способ изменить его состояние, чтобы оно продолжало работать даже после выхода из системы?
В Bash вы можете disown от процесса.
disown [-ar] [-h] [jobspec … ]Каждая
jobspecзаданий удаляется из таблицы активных заданий.
-hSIGHUP не отправляется на задание, если оболочка получает SIGHUP. Текущее место работы .-a-rвсе текущие задания.
Смотрите также: Оболочка вещи: контроль работы и экран
Если вы используете оболочку bash, то у вас есть альтернатива (не всегда?) Вместо использования nohup, просто запустите команду в обычном режиме, поместите ее в фоновом режиме одним из двух способов, которые мы обсудили, а затем отмените -h задание.
$ tar cjf /backup/rob/home.tar.bz2 . & [1] 32089 $ disown -hЗатем вы можете безопасно выйти из системы или закрыть свой терминал. Как и в случае с nohup, если вы закроете терминал или выйдете из системы, вы не сможете получить прямой доступ к этой команде, используя задания и команды
%<N>илиfg <N>.
Связанные посты в сети Stack Exchange: