Spec-Zone.ru › Bash

Встроенные команды управления задачами

bg
bg [jobspec …]

Возобновить каждую приостановленную задачу jobspec в фоновом режиме, как если бы она была запущена с ‘&’. Если jobspec не указан, используется текущая задача. Код возврата равен нулю, если запуск выполнен при включенном управлении задачами, или если заданная jobspec была найдена или указывает на задачу, запущенную с управлением задачами.

fg
fg [jobspec]

Возобновить задачу jobspec в фоновом режиме и сделать её текущей. Если jobspec не указан, используется текущая задача. Код возврата совпадает с кодом команды, переведённой в фоновый режим, или не равен нулю, если запуск выполнен при отключенном управлении задачами, или если jobspec не указывает на корректную задачу, или jobspec указывает на задачу, запущенную без управления задачами.

jobs
jobs [-lnprs] [jobspec]
jobs -x command [arguments]

Первый вариант выводит список активных задач. Опции имеют следующее значение:

-l

Вывести идентификаторы процессов ID помимо стандартной информации.

-n

Отображать информацию только о задачах, статус которых изменился с момента последнего уведомления пользователя о их статусе.

-p

Вывести только идентификатор процесса ID лидера группы процессов задачи.

-r

Отображать только работающие задачи.

-s

Отображать только остановленные задачи.

Если задан jobspec, вывод ограничен информацией об этой задаче. Если jobspec не указан, отображается статус всех задач.

Если опция -x указана, jobs заменяет любой jobspec, найденный в command или arguments, соответствующим идентификатором группы процессов ID, и выполняет command, передавая ему аргументы arguments, возвращая код возврата.

kill
kill [-s sigspec] [-n signum] [-sigspec] jobspec or pid
kill -l|-L [exit_status]

Отправить сигнал, указанный sigspec или signum, процессу, указанному в спецификации задачи jobspec или идентификаторе процесса ID pid. sigspec – это имя сигнала, например, SIGINT, (с или без префикса SIG) или номер сигнала; signum – номер сигнала. Если sigspec и signum отсутствуют, используется SIGTERM. Опция -l выводит список имён сигналов. Если аргументы присутствуют при использовании -l, выводятся имена сигналов, соответствующие аргументам, и код возврата равен нулю. exit_status – число, задающее номер сигнала или код возврата процесса, завершенного сигналом. Опция -L эквивалентна -l. Код возврата равен нулю, если хотя бы один сигнал был успешно отправлен, или не равен нулю, если произошла ошибка или была встречена неверная опция.

wait
wait [-fn] [-p varname] [jobspec or pid …]

Ожидать завершения дочернего процесса, указанного идентификатором процесса ID pid или спецификацией задачи jobspec, и вернуть код возврата последней команды, за которой ожидается завершение. Если задана спецификация задачи, ожидание происходит для всех процессов в задаче. Если аргументы не указаны, wait ожидает завершения всех фоновых задач и последней выполненной подстановки процесса, если её идентификатор процесса совпадает с $!, и код возврата равен нулю. Если опция -n указана, wait ожидает завершения одной задачи из списка pid или jobspec или, если аргументы не указаны, любой задачи, и возвращает её код возврата. Если ни один из предоставленных аргументов не является дочерним процессом оболочки, или если аргументы не указаны и оболочка не имеет ожидающих завершения дочерних процессов, код возврата равен 127. Если опция -p указана, идентификатор процесса или задачи, для которой возвращается код возврата, присваивается переменной varname, указанной в аргументе опции. Переменная будет сброшена первоначально, перед любым присваиванием. Это полезно только когда указана опция -n. Использование опции -f, когда управление задачами включено, принудительно заставляет wait ждать завершения каждого pid или jobspec перед возвратом его статуса, вместо возврата при изменении статуса. Если ни jobspec, ни pid не указывают активный дочерний процесс оболочки, код возврата равен 127. Если wait прерывается сигналом, код возврата будет больше 128, как описано выше (см. Сигналы). В противном случае, код возврата – это код возврата последнего процесса или задачи, за ожиданием завершения.

disown
disown [-ar] [-h] [jobspec … | pid … ]

Без опций, удаляет каждую jobspec из таблицы активных задач. Если опция -h указана, задача не удаляется из таблицы, но помечается так, что SIGHUP не будет отправлен задаче, если оболочка получит SIGHUP. Если jobspec отсутствует и ни опция -a, ни -r не указаны, используется текущая задача. Если jobspec не указан, опция -a означает удаление или пометку всех задач; опция -r без аргумента jobspec ограничивает операции работающими задачами.

suspend
suspend [-f]

Приостановить выполнение этой оболочки до получения сигнала SIGCONT. Логин-оболочка или оболочка без управления задачами не может быть приостановлена; опцию -f можно использовать для переопределения и принудительной приостановки. Код возврата равен 0, если оболочка не является логин-оболочкой или управление задачами не включено и -f не указано.

Когда управление задачами не активны, встроенные команды kill и wait не принимают аргументы jobspec. Должны быть предоставлены идентификаторы процесса ID.

Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Job-Control-Builtins.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API