ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как использовать команду Jobs в Linux

Как использовать команду Jobs в Linux

Команда jobs в Linux позволяет пользователю напрямую взаимодействовать с процессами в текущей оболочке.

Задания имеют три возможных состояния в Linux: передний план, фон и остановлено.

– А что это значит? Чуть позже мы объясним подробнее. Сначала давайте рассмотрим некоторые инструменты, встроенные в команду Jobs.

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

Команда Описание
jobs Список заданий в текущей оболочке
bg %n Отправить процесс в фоновом режиме
fg %n Вывести процесс на передний план

 

В таблице n представляет собой номер соответствующего идентификатора задания.

 

Понимание управления заданиями в Linux

А что вообще такое jobs? Задания, процессы и задачи-это слова, которые часто используются взаимозаменяемо.

На самом деле есть некоторые небольшие различия, которые важны для ясности.

Разница может быть сведена к тому, какая сущность обрабатывает задачи. Пользователи владеют заданиями, а ядро-процессами.

В Linux задание может быть одним процессом или иметь несколько дочерних или подпроцессов.

Примером этого может быть задание, которое содержит несколько переданных команд, таких как эта:

cat file1 | sort | uniq

 

В персональных вычислениях операционная система обрабатывает большинство процессов автоматически. Это обычно оптимизируется под потребности системы или приоритет, придаваемый определенной задаче. Эти процессы завершаются ядром и получают идентификатор процесса (PID).

 

Как управлять заданиями в Linux

Когда вы открываете новую оболочку, у вас есть возможность создавать свои собственные рабочие места. Фактически, это то, что происходит, когда вы вводите любую команду (или серию команд) в терминал.

На уровне пользователя-из оболочки можно вручную отправлять задания для работы в фоновом режиме, выводить их на передний план или приостанавливать (с помощью ctrl+z).

Итак, давайте рассмотрим на практике то, что вы узнали до сих пор, на нескольких примерах.

 

Пример 1: отправка заданий в фоновом режиме

Отправить задание на работу в фоновом режиме очень просто. Вам просто нужно добавить свою команду с символом & (амперсанд).

terminator@andreyex:~$ nano Linux_AndreyEx &
[1] 2860

 

Вы можете видеть, что эта команда возвращает номер задания в скобках. Следующий номер-это идентификатор процесса, используемый ядром.

 

Пример 2: Просмотр Заданий

Если вы попытаетесь ввести команду jobs, вы можете быть смущены, что ничего не произошло. Это происходит потому, что в оболочке не было активных заданий. Теперь, когда у вас есть запущенное задание, вы можете запустить команду задания успешно.

terminator@andreyex:~$ jobs
[1]+  Stopped                 nano Linux_AndreyEx

 

Номер PID здесь не указан, но вам он не нужен. Вы управляете заданиями с помощью идентификатора задания пользователя/оболочки.

 

Пример 3: выведите задания на передний план

Вы можете использовать этот идентификатор задания, чтобы вывести свой экземпляр nano на передний план.

terminator@andreyex:~$ fg %1

 

Если вы следили за этим, это должно привести вас в nano с вашим файлом под названием Linux AndreyEx.

 

Пример 4: остановите задание с помощью ctrl+z

Вы можете остановить открытые задания с помощью ctrl+z.

Вы можете открыть верхнюю часть, используйте ctrl+z, чтобы приостановить его, просмотреть его в списке заданий, а затем вернуть его на передний план перед закрытием.

 

Пример 5: Запуск фоновых заданий с помощью bg

Хотя вы можете отправлять задания в фоновом режиме с символом &, это всегда хорошо, чтобы иметь альтернативу. На экране вы видели, как я остановил задание с помощью ctrl+z. я вернул задание в оболочку и на передний план с помощью команды fg %n. Вы можете сделать то же самое, используя bg.

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

Итак, давайте использовать gedit. Мы собираемся сделать следующее:

terminator@andreyex:~$ gedit
^Z
[1]+  Stopped                 gedit
terminator@andreyex:~$ bg %1
[1]+ gedit &
terminator@andreyex:~$ jobs
[1]+  Stopped                 gedit
terminator@andreyex:~$ fg %1
gedit
^C

 

Бонусный совет по окончанию заданий в Linux

Многие из нас привыкли использовать ctrl+c для завершения заданий в оболочке. Есть еще один способ сделать это, что включение вашего нового знания контроля работы.

terminator@andreyex:~$ fg %1
gedit
^Z
[1]+  Stopped                 gedit
terminator@andreyex:~$ kill %1

 

Правильно, команда kill может быть использована вместе с идентификатором задания для завершения задания также.

 

Вывод

Изучение командной строки Linux приближает нас к внутренней работе нашей любимой операционной системы. Контроль учебных заданий дает нам возможность обрабатывать сразу несколько заданий.

Мы надеемся, что вы нашли что-то новое для изучения с этой статьей. Если вам понравилось, пожалуйста, сообщите нам об этом в разделе комментариев ниже или используйте ссылки, чтобы поделиться в социальных сетях.

Exit mobile version