Is php multi-process?

(*-*)浩
Release: 2023-02-25 14:30:01
Original
2482 people have browsed it

When running scripts on the server, some time-consuming tasks cannot be avoided, and the use of multiple processes is essential. After PHP5.5, PHP began to add multi-process elements to meet development needs.

Is php multi-process?

Note

Extensions that need to be enabled to implement multiple processes: pcntl, posix. (Recommended learning: PHP video tutorial)

Multi-process programming of PHP is not supported in the Windows environment. This article is mainly developed and tested in the Linux environment

A simple structure diagram

Is php multi-process?

##Main functions##pcntl_fork: Create multiple processes, two items will be returned after calling The pid of the process, 0 is the child process, greater than 0 is the parent process (the parent process gets the id of the child process, so it is greater than 0), -1 means the creation failed

$pid = $pcntlInstall ? pcntl_fork() : 0;if ($pid == -1) {
    //fork失败
 } elseif ($pid > 0) {
    //父进程
    ......
 } elseif ($pid == 0) {
    //子进程
    ......
 }
Copy after login

pcntl_signal: Register a signal processing callback function, you can Capture the signal sent when the child process ends

/配合pcntl_signal使用
declare (ticks = 1);

//当子进程退出时,会触发该函数,当前子进程数-1
pcntl_signal(SIGCHLD, function ($signo) {
    switch ($signo) {
        case SIGCHLD:
            echo $curChildPro . 'SIGCHLD', PHP_EOL;
            $curChildPro--;
            break;
    }
});
Copy after login

pcntl_wait: used to pause the parent process and wait for the child process to exit

The above is the detailed content of Is php multi-process?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!