Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная

Команда Linux jobs

Автор: admin, 14 февраля, 2024
Команды

В Linux команда jobs используется при управлении процессами (заданиями), запущенными в фоновом режиме или остановленными.

Команда Linux jobs и примеры её использования

Утилита важна для многозадачности в одном окне терминала и одновременного управления несколькими процессами.

Содержание

  • Синтаксис
  • Параметры
  • Статус выхода
  • Введение
  • Использование в Linux команды jobs
  • Пояснение
  • Запуск задания в фоновом режиме
  • Статус запущенных заданий
  • Отображение лишь идентификатора процесса
  • Остановка процесса
  • Убийство процесса
  • Заключение

Синтаксис

$ jobs [-lnprs] [задание ...] или jobs -x команда [аргументы]

Параметры

-l

Перечисляет идентификаторы процессов в дополнение к обычной информации

-n

Перечисляет лишь процессы, статус которых изменился с момента последнего уведомления

-p

Перечисляет лишь идентификаторы процессов

-r

Ограничивает вывод запущенных заданий

-s

Ограничивает вывод остановленных заданий

Статус выхода

0

Успешное завершение

>0

Произошла ошибка

При указании опции -x, возвращает статус завершения команды.

Введение

Управление заданиями — это возможность останавливать/приостанавливать выполнение процессов (команд) и продолжать/возобновлять их выполнение в соответствии с вашими требованиями. Утилита jobs является частью вашей операционной системы Linux и оболочки, например bash. Она позволяет отобразить таблицу заданий, выполняемых в данный момент.

Использование в Linux команды jobs

Пояснение

В команде перечисляются активные задания. JOBSPEC ограничивает вывод этим заданиям. Без опций отображается состояние всех активных заданий.

При указании опции -x, команда запустится лишь после того, как все спецификации задания будут заменены идентификатором процесса лидера группы процессов этого задания.

Задания, запущенные в фоновом режиме, можно не только остановить, но и убить. Это необходимо для освобождения памяти от уже ненужных заданий. Всё это можно показать на простом примере.

Запуск задания в фоновом режиме

В качестве пример запускаем в фоновом режиме калькулятор:

oleg@mobile:~:$ galculator &
[1] 64446
oleg@mobile:~:$

Статус запущенных заданий

Отображаем статус заданий в текущей оболочке, используя опцию -l:

oleg@mobile:~:$ jobs -l
[1]+ 64446 Запущен          galculator &
oleg@mobile:~:$

Отображение лишь идентификатора процесса

Отображаем лишь идентификатор процесса для задания, имя которого начинается с g. Используем также опцию -p:

oleg@mobile:~:$ jobs -p %g
64446
oleg@mobile:~:$

Остановка процесса

Останавливаем процесс, используя утилиту kill с опцией -s и идентификаторы процесса:

oleg@mobile:~:$ kill -s stop 64446
[1]+  Остановлен    galculator
oleg@mobile:~:$

Проверяем:

oleg@mobile:~:$ jobs -l
[1]+ 64446 Остановлено (сигнал)             galculator
oleg@mobile:~:$

Убийство процесса

Для убийства процесса необходимо знать номер сигнала SIGKILL утилиты kill.

Список сигналов команды kill:

oleg@mobile:~:$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX	
oleg@mobile:~:$

Убиваем процесс, запуская утилиту kill с номером сигнала 9 и идентификаторы процесса:

oleg@mobile:~:$ kill -9 64446
oleg@mobile:~:$

Проверяем:

oleg@mobile:~:$ jobs -l
[1]+ 64446 Убито              galculator
oleg@mobile:~:$

Всё отлично!

Заключение

В операционной системе Linux команда jobs проста и важна. Она позволяет просматривать и управлять в одном терминальном окне целой группой команд, запущенных в фоновом режиме.

Последние материалы

  • Утилита sensors
    3 hours 41 minute ago
  • Сканер Rkhunter
    1 week ago
  • Программа resize2fs
    1 week 6 days ago
  • Аудиопроигрыватель QMMP
    2 weeks 4 days ago
  • Программа Timeshift
    3 weeks 3 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru