ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Операционная система. Часть Тридцатая.


28-12-2009

boolean pcntl_signal(integer signal, string handler, boolean restart_syscalls)
Функция pcntl_signal (листинг 9.101) регистрирует дескриптор сигнала для заданного сигнала. Константу сигнала можно выбрать из табл. 9.27. Задать дескриптор можно, указав имя функции или используя двухэлементный массив. Элемент может быть именем класса или объекта. Второй элемент должен представлять собой имя метода. Для того чтобы сигнал был проигнорирован, можно выбрать команду SIG_IGN. При указании константы SIG_DFL для дескриптора PHP восстановит стандартный дескриптор.
По умолчанию PHP использует системный вызов restarting. Для того чтобы изменить это поведение, можно использовать значение FALSE аргумента restart_syscalls.
Операционная система
Листинг 9.101. Функция pcntl_signal

<?php
// определение класса дескриптора class signal
{
function handle($signal)
{
if($signal == SIGHUP) 
{
print(" Получен сигнал HUP!n");
}
}
}
//Задать PHP режим просмотра сигналов
declare(ticks=1);
// зарегистрировать дескриптор
pcntl_signal(SIGHUP, array('signal', 'handle')); // генерировать сигнал posix_kill(posix_getpid(), SIGHUP);
?>

integer pcntl_waitpid(integer pid, integer status, integer options)
Функция pcntl_waitpid останавливает выполнение породившего процесса до тех пор, пока порожденный процесс не завершит свою работу. Она возвращает идентификатор завершенного процесса. В случае возникновения ошибки она возвращает -1. При использовании параметра WNOHANG он может вернуть значение 0, если никакого порожденного процесса не существует.
При вызове функции с аргументом pid меньше, чем -1, PHP будет ожидать порожденный процесс с идентификатором группы, соответствующим абсолютному значению аргумента pid. При вызове этой функции с аргументом pid, равным -1, PHP будет ожидать остановки любого порожденного процесса. При вызове этой функции с аргументом pid, равным 0, PHP будет ожидать любого порожденного процесса, идентификатор группы которого совпадает.
PHP помещает идентификатор статуса в аргументе status. Это значение используется с одной из следующих функций: pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, что позволит определить причину остановки порожденного процесса. Аргументы options принимают две константы: WNOHANG и WUNTRACED. При задании константы WNOHANG функция pcntl_waitpid возвращает значение немедленно, если нет ни одного завершившегося порожденного процесса. При задании константы WUNTRACED функция pcntl_waitpid возвращает информацию об остановленных порожденных процессах. Эти две константы можно объединить с помощью операции "побитовое ИЛИ".
integer pcntl_wexitstatus(integer status)
Функция pcntl_wexitstatus возвращает выходное значение, возвращенное по­рожденным процессом, если он завершился нормально.
boolean pcntl_wifexited(integer status)
Эта функция проверяет статус, установленный функцией pcntl_waitpid. Она возвращает значение TRUE, если порожденный процесс завершился нормально.
boolean pcntl_wifsignaled(integer status)
Эта функция проверяет статус, установленный функцией pcntl_waitpid. Она возвращает значение TRUE, если порожденный процесс был завершен по сигналу. 
boolean pcntl_wifstopped(integer status)
Эта функция тестирует статус, установленный функцией pcntl_waitpid. Она возвращает значение TRUE, если порожденный процесс был остановлен.
integer pcntl_wstopsig(integer status)
Эта функция проверяет статус, установленный функцией pcntl_waitpid. Она возвращает сигнал, остановивший порожденный процесс, если функция pcntl_wifstopped возвращает значение TRUE.
boolean pcntl_wtermsig(integer status)
Эта функция поверяет статус, установленный функцией pcntl_waitpid. Она воз­вращает сигнал, остановивший порожденный процесс, если функция pcntl_wifsignaled возвращает значение TRUE.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Операционная система. Часть Двадцать Девятая. PHP. Операции ввода-вывода на сетевом уровне