Способы оплаты Abuse

Работа в фоном процессе Linux

27.01.2023, 23:58

Мы рассказали, что такое процесс в фоне Linux и как его правильно запустить. В этой статье расскажем, как происходит работа в таком режиме. 

Как происходит работа в фоне 

Запустить скрипт в Линукс это одна задача, нужно его позаботиться о том, чтобы он исправно функционировал сразу после закрытия терминала. Закрывается терминал так: нужно нажать на крестик, который находится в верхнем углу экрана, это приводит к завершению всех фоновых процессов. Есть несколько методик, как сохранить их в случае, если связь с интерактивной оболочкой будет утеряна

Первый: удалить из задачи очередь заданий, используя disown:

disown

Как и в предыдущих случаях, при наличии нескольких одновременно выполняемых процессов следует  указывать номер того, относительно которого будет выполнено действие:

disown %1

Удостовериться, что задача не находится в списке заданий. Как это сделать? Используй утилиту jobs -l. Для просмотра всего списка запущенных процессов применяется команда:

ps aux

Следующий метод: вы сохраняете запущенные процессы командой nohup. Эта команда после исполнения в свою очередь исполнит другую команду, все сигналы SIGHUP будут игнорированы.

Запустить команду в фоновом режиме можно так:

nohup command &

Как видим на изображении выше, вывод команды будет отправлен в nohup.out. Самое главное это то, что после выхода из системы и закрытия терминала процесс будет и дальше функционировать. Есть некоторые утилиты, позволяющие запускать сразу две и более сессий. В частности это позволяют делать Screen и Tmux.

Мы разобрали этот вопрос, как видим, все элементарно и просто.