
nohup — процессы, которые не умирают
Подключились к серверу по SSH, запустили долгую задачу, закрыли ноутбук — и процесс умер. Знакомо?
При закрытии терминала система отправляет сигнал SIGHUP (hangup) всем дочерним процессам, завершая их. Утилита nohup решает эту проблему — она игнорирует этот сигнал.
nohup ./long_task.sh &
Добавляем & в конце, чтобы процесс ушёл в фоновый режим. Вывод по умолчанию записывается в файл nohup.out.
Если вывод не нужен — перенаправляем в /dev/null (подробнее про перенаправления в этом посте
):
nohup ./script.sh > /dev/null 2>&1 &
Несколько нюансов:
- После запуска можно безопасно закрыть терминал
- Процесс продолжит работу с PPID=1 (Parent Process ID)
- Для интерактивного управления задачами лучше подойдут
screenилиtmux
Простая утилита, которая выручает, когда нужно быстро запустить что-то долгоиграющее без лишних настроек.
Этот пост также доступен в Telegram

