在 PHP 中,可以使用 pcntl_fork() 函數來創建子進程。以下是一個簡單的示例:
<?php
// 父進程代碼
$pid = pcntl_fork(); // 創建子進程
if ($pid == -1) {
// fork 失敗
die('could not fork');
} elseif ($pid) {
// 父進程代碼
echo 'Parent process PID: ' . getmypid() . PHP_EOL;
pcntl_wait($status); // 等待子進程結束
} else {
// 子進程代碼
echo 'Child process PID: ' . getmypid() . PHP_EOL;
// 在這里執行子進程的任務
exit(0); // 子進程正常結束
}
?>
在這個示例中,我們首先使用 pcntl_fork() 函數嘗試創建一個子進程。如果返回值為 -1,則表示 fork 失敗。如果返回值大于 0,則表示我們在父進程中,可以繼續執行父進程的代碼。如果返回值為 0,則表示我們在子進程中,可以執行子進程的代碼。
在子進程中,我們可以執行任何需要的任務,然后使用 exit() 函數結束子進程。在父進程中,我們可以使用 pcntl_wait() 函數等待子進程結束。