LXXX. Process Control Functions
You
will
need
to
use
the
--enable-pcntl
configuration
option
when
compiling
PHP
to
enable
Process
Control
support
.
טבלה
1
.
Supported
Signals
SIGFPE
|
SIGCONT
|
SIGKILL
|
SIGSTOP
|
SIGUSR1
|
SIGTSTP
|
SIGHUP
|
SIGUSR2
|
SIGTTIN
|
SIGINT
|
SIGSEGV
|
SIGTTOU
|
SIGQUIT
|
SIGPIPE
|
SIGURG
|
SIGILL
|
SIGALRM
|
SIGXCPU
|
SIGTRAP
|
SIGTERM
|
SIGXFSZ
|
SIGABRT
|
SIGSTKFLT
|
SIGVTALRM
|
SIGIOT
|
SIGCHLD
|
SIGPROF
|
SIGBUS
|
SIGCLD
|
SIGWINCH
|
SIGPOLL
|
SIGIO
|
SIGPWR
|
SIGSYS
|
|
|
דוגמה
1
.
?php
$pid
=
pcntl_fork(
)
;
if
($pid
==
-1
)
{
die("could
not
fork")
;
}
else
if
($pid
)
{
exit()
;
/
/
we
are
the
parent
}
else
{
/
/
we
are
the
child
}
/
/
detatch
from
the
controlling
terminal
if
(!posix_setsid()
)
{
die("could
not
detach
from
terminal")
;
}
/
/
setup
signal
handlers
pcntl_signal(SIGTERM
,
"sig_handler")
;
pcntl_signal(SIGHUP
,
"sig_handler")
;
/
/
loop
forever
performing
tasks
while(1
)
{
/
/
do
something
interesting
here
}
function
sig_handler($signo
)
{
switch($signo
)
{
case
SIGTERM
:
/
/
handle
shutdown
tasks
exit
;
break
;
case
SIGHUP
:
/
/
handle
restart
tasks
break
;
default
:
/
/
handle
all
other
signals
}
}
?
|
|