PHP 8.5.0 Alpha 2 available for testing

Basic usage

This example forks off a daemon process with a signal handler.

Example #1 Process Control Example

<?php
pcntl_async_signals
(true);

$pid = pcntl_fork();
if (
$pid == -1) {
die(
"could not fork");
} else if (
$pid) {
exit();
/ we are the parent
} else {
/ we are the child
}

/ detach from the controlling terminal
if (posix_setsid() == -1) {
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
}

}

?>
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant