Реферат: Программирование на Shell
этот фрагмент будет выглядеть следующим образом (курсивом выделены комментарии):
$ find/-name conf -print & ввод команды "find"
288 номер (PID) фонового процесса
$ pwd ввод команды "pwd"
/mnt/lab/asu результат работы "pwd"
$ возвращение shell в промптер
/usr/include/sys/conf результат работы "find"
Иногда необходимо, чтобы все фоновые процессы завершились, прежде чем будет
выполняться какой-то расчет. Для этого служит специальная команда "wait [PID]".
Эта команда ждет завершения указанного идентификатором (числом) фонового
процесса. Если команда без параметра, то она ждет завершения всех фоновых
процессов, дочерних для данного "sh".
Для группировки команд также могут использоваться фигурные "{}" и круглые "()"
скобки. Рассмотрим примеры, сочетающие различные способы группировки: Если
введена командная строка
command1 && command2; command3
где command1, command2 и command3 - какие-то команды, то "command2" будет
выполнена только при успешном завершении "command1"; после любого из исходов
обработки "command2" (т.е. "command2" будет выполнена, либо пропущена) будет
выполнена "command3".
command1 && { command2; command3}
Здесь обе команды ("command2" и "command3") будут выполнены только при успешном
завершении "command1".
{command1; command2} &
В фоновом режиме будет выполняться последовательность команд "command1" и
"command2".
Фоновые процессы сложно уничтожить, поскольку традиционная команда "CTL/C"
прерывает только процессы переднего плана. Для уничтожения фонового процесса
надо знать его номер. При запуске фонового процесса на экран выдается число,