Встроенные команды управления задачами
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