А вы знали как сделать, чтобы команды не зависели от сессии и продолжали работать даже после выхода? Для этого можно использовать
disown и nohup.▪️ nohup - команда живёт даже после выхода. nohup позволяет запустить процесс, который не завершится, даже если вы выйдете из системы.
Пример: Запускаем длительный процесс и отправляем в фон
nohup long-running-script.sh > output.log 2>&1 &
Процесс не привязан к терминалу
Вывод пишется в output.log
Можно закрыть терминал, процесс не остановится
▪️ disown - открепление процесса от сессии. Если уже запустили команду без nohup, но хотите её сохранить:
1️⃣ Запускаем процесс в фоне
long-running-script.sh &
2️⃣ Просматриваем фоновые задачи
jobs -l
3️⃣ Открепляем процесс
disown -h %1
Теперь даже если вы выйдете из терминала, процесс останется работать.
📌 Разница между nohup и disown
Команда Когда использовать Что делает?
nohup - необходимо использовать при запуске процесса. В таком случае это делает процесс независимым
disown - работает для уже запущенных команд Открепляет процесс от сессии
🔥 Комбо: Можно использовать nohup + disown, чтобы запущенный процесс не зависел от терминала и не получал SIGHUP.
nohup ./script.sh & disown
Теперь можно спокойно выйти из SSH, процесс продолжит работать.
BashTex 📱 #linux #utils