Справочник по Perl : Функции для работы с процессами и группами процессов

смотрим также

Материал из Справочник Web-языков

Перейти к: навигация, поиск


Содержание

alarm

Определяет количество секунд (параметр СЕКУНДЫ), через который должен быть выдан сигнал SIGALARM. Если параметр отсутствует, используется значение специальной переменной $_.

alarm [СЕКУНДЫ]

exec

Выполняет заданную параметром СПИСОК команду, прекращая дальнейшее выполнение программы Perl. Никогда не возвращает кода возврата выполнения команды, только в случае, если команда не существует, возвращает булево значение Ложь. Если СПИСОК состоит более чем из одного элемента, вызывает системную команду execvp(3) и передает ей в качестве параметров значения списка, которая вызывает заданную первым элементом списка команду, интерпретируя оставшиеся элементы как ее параметры. Если список представлен одной скалярной переменной или массивом из одного элемента, то его значение проверяется на наличие метасимволов командного интерпретатора shell. Если таковые обнаружены, то вся строка передается анализатору shell(в Unix это /bin/sh -c); в противном случае она разбивается на слова и передается в качестве параметра системной команде execvp(). В системной переменной $0 сохраняется имя выполняемой команды. В форме с параметром ПРОГРАММА выполняет команду, заданную этим параметром, а в системную переменную $0 заносится содержимое первого элемента списка. Таким образом можно скрыть от программы Perl имя истинной выполняемой команды.

exec СПИСОК
exec ПРОГРАММА СПИСОК

fork

Осуществляет вызов системной функции fork(2), создающей новый процесс. Возвращает идентификатор порожденного процесса в родительский процесс, значение 0 в порожденный процесс и неопределенное значение undef, если не удалось создать новый процесс.

fork

getpgrp

Возвращает текущую группу процесса с заданным идентификатором PID. Если значение параметра PID равно 0, или он опущен, то возвращается текущая группа текущего процесса.

getpgrp PID

getppid

Возвращает идентификатор процесса (ID) родительского процесса.

getppid

getpriority

Возвращает текщий приоритет процесса, группы процесса или пользователя.

getpriority WHICH, WHO

kill

Посылает сигнал процессам, определенным в элементах списка параметра СПИСОК. Первым элементом списка должен быть посылаемый сигнал; если он отрицательный, то уничтожаются группы процессов, а не сами процессы. Возвращает количество процессов, которым передан сигнал.

kill СПИСОК

pipe

Открывает пару соединенных дескрипторов файлов, образуя програмный канал (pipe). Записанные в один файл данные можно прочитать из другого. При передачи данных используются буферы стандартной системы ввода/вывода stdio.

pipe ДЕСКРИПТОР_ЧТЕНИЯ, ДЕСКРИПТОР_ЗАПИСИ

setpgrp

Устанавливает для процесса с заданным идентификатором (параметр PID) текущую группу равной значению параметра PGRP. Значение 0 идентификатора процесса соответствует текущему процессу. Если оба параметра опущены, то по умолчанию их значения принимаются равными 0.

setpgrp PID, PGRP

setpriority

Устанавливает текущий приоритет процесса, группы процесса или пользователя.

setpriority WHICH, WHO, PRIORITY

sleep

Приостанавливает работу программы Perl на заданное значением параметра ВЫРАЖЕНИЕ количество секунд или на всегда, если параметр отсутствует. Выходит из состояния ожидания раньше указанного времени, если процесс получает сигнал GIGALARM. Возвращает действительное количество секунд нахождения программы в состоянии ожидания.

sleep ВЫРАЖЕНИЕ

system

Аналогична функции exec(), но для выполнения команды порождает новый процесс, окончания которого ожидает родительский процесс, прежде чем продолжить свое выполнение. Все, что сказано относительно параметров функции exec(), распространяется и на параметры функции system(). Возвращает такой же код завершения команды, что и функция wait(); для получения истинного кода завершения полученное значение следует разделить на 256.

system СПИСОК
system ПРОГРАММА СПИСОК

times

Возвращает четырехэлементный список, содержащий пользовательское и системное время для процесса и порожденного им процесса.

($user, $system, $cuser, $csystem) = times;

wait

Ожидает завершение порожденного процесса и возвращает идентификатор завершенного порожденного процесса или -1 в случае, если порожденных процессов не существует. В специальной переменной $? сохраняется статус завершения.

wait

waitpid

Ожидает завершения процесса с заданным в параметре PID идентификатором процесса (-1 означает любой процесс) и возвращает идентификатор завершенного порожденного процесса или -1 в случае, если порожденных процессов не существует. Параметр FLAGS представляет набор флагов, уточняющих действие функции. Например, флаг WHOANG означает не блокирующее ожидание завершения любого процесса. Во всех системах реализован флаг 0, означающий блокирующий вызов. В специальной переменной $? сохраняется статус завершения.

waitpid PID, FLAGS
Источник — «http://www.spravkaweb.ru/perl/process/»
Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="http://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
Rambler\'s Top100 Индекс цитирования