(PHP 4 >= 4.1.0, PHP 5, PHP 7)
pcntl_signal — ��װһ���źŴ�����
����pcntl_signal()Ϊsigno
ָ�����źŰ�װһ����
���źŴ�������
signo
�źű�š�
handler
�źŴ������������û������ĺ����������֣�Ҳ������ϵͳ����
SIG_IGN
����ע�������źŴ������SIG_DFL��Ĭ���źŴ������
.
Note:
ע���ʹ��һ��������ʱ�ö�������ü���������ʹ��������ı�Ϊ���������ű�����֮ǰ�dz־ô��ڵġ�
restart_syscalls
ָ�����źŵ���ʱϵͳ���������Ƿ���á�����ע���������ϣ��˲�����Ϊϵͳ���ñ��źŴ��ʱ��ϵͳ�����Ƿ�� ��ʼ�����¿�ʼ��������http://bugs.php.net/bug.php?id=52121���˲�������bug��Ч����
�ɹ�ʱ���� TRUE
�� ������ʧ��ʱ���� FALSE
��
�汾 | ˵�� |
---|---|
4.3.0 |
���Ӳ���restart_syscalls ��
|
4.3.0 | ����������Ϊ�ص���ʹ�á� |
4.3.0 | PCNTL����ʹ����ticks��Ϊ�źŴ���Ļص����ƣ�ticks���ٶ���ԶԶ������֮ǰ�Ĵ�����ơ� ����仯��"�û�ticks"��ѭ����ͬ�����塣������ʹ��declare() ����ڳ�����ָ���������ص���λ�á���ʹ�����Ƕ��첽�¼�����Ŀ�����С�����ڱ���PHPʱ ����pcntl��ʼ�ճе����ֿ������������Ľű����Ƿ�����ʹ����pcntl�� PHP 4.3.0ʹ��ticks��Ϊ�źŴ���ص����ƣ������ǰ�Ļ��ƿ��˺ܶࡣ����仯�� "�û�ticks" ��ѭ����ͬ�����塣������ʹ��declare() ����ڳ�����ָ���������ص���λ�á� |
Example #1 pcntl_signal()ʾ��
<?php
//ʹ��ticks��ҪPHP 4.3.0���ϰ汾
declare(ticks = 1);
//�źŴ�����
function sig_handler($signo)
{
switch ($signo) {
case SIGTERM:
// ����SIGTERM�ź�
exit;
break;
case SIGHUP:
//����SIGHUP�ź�
break;
case SIGUSR1:
echo "Caught SIGUSR1...\n";
break;
default:
// �������������ź�
}
}
echo "Installing signal handler...\n";
//��װ�źŴ�����
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");
// ������PHP 4.3.0���ϰ汾����ʹ�ö���
// pcntl_signal(SIGUSR1, array($obj, "do_something");
echo "Generating signal SIGTERM to self...\n";
//��ǰ���̷���SIGUSR1�ź�
posix_kill(posix_getpid(), SIGUSR1);
echo "Done\n"
?>