Пользователи ОС Linux имеют возможность запускать команды в фоновом режиме, чтобы продолжать работу с терминалом во время их выполнения. Это полезно, например, при загрузке больших файлов, компиляции кода приложения и так далее.
В этой статье мы расскажем, как запустить процесс в фоновом режиме независимо от терминала в ОС Linux.
Содержание:
Запуск процесса в фоновом режиме
Существует два способа запустить процесс в фоновом режиме — с помощью знака &
(амперсанд) и команды bg
.
Давайте начнем с первого способа. Для запуска команды в фоновом режиме напишите ее в терминале, после поставьте пробел и добавьте символ &
. Чтобы проверить, что процесс действительно запущен и работает в фоновом режиме, введите команду jobs
:
Утилита jobs
вывела на экран информацию, что команда wget
действительно работает (Running
).
Чтобы запустить процесс в фоновом режиме с помощью утилиты bg
, последовательно выполните следующие действия:
- запустите команду;
- остановите ее выполнение, нажав сочетание клавиш Ctrl + Z;
- выполните команду
bg
.
Читайте также: Что такое процессы и как ими управлять в Linux.
Допустим, нам нужно распаковать архив с помощью утилиты tar
, затем остановить этот процесс и запустить его в фоновом режиме. Для этого выполним следующие команды:
Продолжение работы процесса Linux после выхода из терминала
Когда Вы запускаете какой-либо процесс в командной строке, он автоматически привязывается к сессии терминала. Это означает, что при закрытии терминала процесс будет завершен. Чтобы избежать завершения процесса, Вы можете выполнить команду disown
.
Эта утилита удаляет фоновый процесс из таблицы заданий оболочки. После чего он становится независимым от сеанса терминала (то есть, продолжит выполняться и после выхода из командной строки). Например:
Читайте также: Как найти и завершить запущенные процессы в Linux.
Давайте подробнее разберем конструкцию команды disown
:
-h
— опция, которая предотвращает завершение задания при закрытии терминала;%1
— номер процесса в таблице заданий оболочки.
Вместо утилиты disown
Вы можете использовать команду nohup
. Она также делает процесс независимым от сессии терминала. Синтаксис nohup
имеет следующий вид:
Например:
Выводы
Мы показали Вам, как запускать процессы в фоновом режиме отдельно от терминала. С помощью полученных из этой статьи знаний Вы сможете выполнять параллельно сразу несколько операций в командной строке Linux. Надеемся, что наш материал был полезным для Вас!
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.