怎么用PHP实现多进程


本篇内容介绍了“怎么用PHP实现多进程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!虽然说 PHP 是世界上最好的语言,但是对于 PHPer 们来说,对多进程、进程管理还是相对陌生的。本文将讲解一下使用 PHP 原生代码如何实现多进程。首先我们要了解 PHP 实现多进程的函数,如 pcntl_forkpcntl_wait、pcntl_waitpid 等。

pcntl_fork(void):int

这个函数的作用是创建子进程,并且返回 int 类型的进程 ID,父进程和子进程都是从 fork 的位置开始向下继续执行。子进程创建成功时,在父进程执行线程内返回产生的子进程的 PID,在子进程执行线程内返回 0。创建失败时,在父进程上下文返回 – 1,不会创建子进程,并且会引发一个 PHP 错误。

pcntl_wait(int&$status[,int$options=0]):int

这个函数的作用是等待或返回 fork 的子进程状态。此函数会挂起当前进程的执行,直到一个子进程退出或者受到一个信号要求中断当前进程或者调用一个信号处理函数。如果一个子进程在调用此函数时已免费云主机域名经退出,此函数立刻返回。此函数返回退出的子进程号,发生错误时返回 – 1,如果提供了 WNOHANG 作为 option 并且没有可用子进程时返回 0。

pcntl_waitpid(int$pid,int&$status[,int$options=0]):int

这个函数的作用是等待或返回 fork 的子进程状态。调用这个函数会挂起当前进程的执行,直到参数 pid 指定的进程号的进程退出,或者接收到一个信号要求中断当前进程或调用一个信号处理函数。pcntl_waitpid () 返回退出的子进程进程号,发生错误时返回 – 1, 如果提供了 WNOHANG 作为 option,并且没有可用子进程时返回 0。

pcntl_signal(int$signo,callback$handler[,bool$restart_syscalls=true]):bool

这个函数的作用是安装信号处理器,为 signo 指定的信号安装一个新的信号处理器。signo 为信号编号。handler 为信号处理器,可以是用户创建的函数或方法,也可以是系统常亮 SIG_IGN(忽略信号处理程序)或 SIG_DFL(默认信号处理程序)。restart_syscalls 指定当信号到达时系统调用重启是否可用。函数返回值为 bool 型,成功时返回 true,失败时返回 false。“怎么用PHP实现多进程”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!

相关推荐: 如何使用Vue递归组件构建树形菜单

今天小编给大家分享一下如何使用Vue递归组件构建树形菜单的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在Vue.js中一个递归组件调用的是其本身…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/27 22:05
下一篇 02/27 22:05

相关推荐