脚本宝典收集整理的这篇文章主要介绍了PHP多进程编程实例详解,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了PHP多进程编程。分享给大家供大家参考,具体如下:
$ PHP -m 命令查看PHP是否安装pcntl 和 posix扩展,若没有则安装
1. 要进行大量的网络耗时的操作 2. 要做大量的运算,并且,系统有多个cpu,为了让用户有更快的体验,把一个任务,分成几个小任务,最后合并。
一个alarm闹钟信号 一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程 号,而子进程得到的是0。 Failed 获取任意进程的优先级 修改任意进程的优先级 调用等待信号的处理器 一个信号处理器 stem error message associated with the given errno 一个中断的子进程的返回代码 代码是否代表一个正常的退出。
PHP;"> <>PHP //最早的进程,也是父进程 $parentPid = getmypid(); echo '原始父进程:' . $parentPid . PHP_EOL; //创建子进程,返回子进程id $pid = pcntl_fork(); if( $pid == -1 ){ exit("fork error"); } //pcntl_fork 后,父进程返回子进程id,子进程返回0 echo 'ID : ' . $pid . PHP_EOL; if( $pid == 0 ){ //子进程执行pcntl_fork的时候,pid总是0,并且不会再fork出新的进程 $mypid = getmypid(); // 用getmypid()函数获取当前进程的PID echo 'I am child process. My PID is ' . $mypid . ' and my fathers PID is ' . $parentPid . PHP_EOL; } else { //父进程fork之后,返回的就是子进程的pid号,pid不为0 echo 'Oh my god! I am a father Now! My childs PID is ' . $pid . ' and mine is ' . $parentPid . PHP_EOL; } $aa = shell_exec("ps -af | grep index.PHP"); echo $aa;
以上是脚本宝典为你收集整理的PHP多进程编程实例详解全部内容,希望文章能够帮你解决PHP多进程编程实例详解所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。