Поиск по сайту:
Конец жизни печален, середина никуда не годится, а начало смешно (Ф. Вольтер).

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

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

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

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

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

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

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

 

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

 

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

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

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

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

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

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

cat file1 | sort | uniq

 

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

 

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

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

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

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

Читать  Добавить пользователя в группу в Ubuntu

 

Пример 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.

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

Читать  Как найти MAC-адреса

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

  • Запустить Gedit
  • Вернитесь в оболочку и нажмите Ctrl+z
  • Отправить его в фоновом режиме для запуска с помощью bg
  • Проверьте список моих заданий, чтобы убедиться, что он запущен
  • Вернитесь на передний план и отправьте системное прерывание, используя Ctrl+c, чтобы завершить его
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 приближает нас к внутренней работе нашей любимой операционной системы. Контроль учебных заданий дает нам возможность обрабатывать сразу несколько заданий.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (4 оценок, среднее: 4,50 из 5)
Загрузка...
Поделиться в соц. сетях:


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

**ссылки nofollow

Это может быть вам интересно


Рекомендуемое
В этой статье мы рассмотрим основы конструкции select в Bash. Конструкция…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: