Почему процесс, который я выполнил из сценария оболочки, завершается, когда я уничтожаю сценарий / терминал, который вызвал сценарий
Каждый процесс должен иметь родительский процесс (по крайней мере, для получения статуса выхода). см. man 2 wait
. Если родительский процесс умирает, его потомкам посылается сигнал SIGHUP
(см. man 7 signal
). SIGHUP
является перехватываемым сигналом, но если дочерний процесс не перехватывает его, действие по умолчанию - убить дочерний процесс.
См. man nohup
, чтобы все продолжалось.
Чтобы выполнить фоновое задание и продолжить его работу после закрытия терминала, используйте:
nohup command &>/dev/null &