- 检测是否安装 pcntl 扩展
开启多进程处理任务前,首先需要判断是否已安装 pcntl 扩展。可以通过以下方式进行检测:
1 | $ php -m | grep pcntl |
- 创建子进程。
在父进程中,可以通过 pcntl_fork() 函数创建一个子进程。子进程会复制一份父进程的所有变量和资源,并从 pcntl_fork() 函数返回。可以通过返回值来判断当前进程是父进程还是子进程。例如:
1 | $pid = pcntl_fork(); |
- 在子进程中执行任务。
子进程复制了父进程的所有变量和资源,可以直接在子进程中执行任务。例如:
1 | $pid = pcntl_fork(); |
- 等待子进程结束。
在父进程中,可以通过 pcntl_waitpid() 函数来等待子进程结束。例如:
1 | $pid = pcntl_fork(); |
- 处理子进程返回值。
在父进程中,可以通过 pcntl_wexitstatus() 函数来获取子进程的返回值。例如:
1 | $pid = pcntl_fork(); |