资讯专栏INFORMATION COLUMN

PHP-pcntl 多进程

crelaber / 593人阅读

摘要:代码主进程逻辑子进程逻辑获取子进程的子进程执行的逻辑运行结果

代码
 0)
{
foreach($arChildId as $iKey=> $iPid)
{
    $res = pcntl_waitpid($iPid, $status, WNOHANG);

    if($res == -1 || $res > 0)
    {
        unset($arChildId[$iKey]);
        echo "* Sub process: ". $iPid. " exited with ". $status. PHP_EOL;
    }
}
}



# 子进程执行的逻辑
function excuteProcess($iPid, $iSeconds)
{
file_put_contents("./log/".$iPid.".log", $iPid.PHP_EOL, FILE_APPEND);
sleep($iSeconds);
}
?>

运行结果
* Process 16163 was created, and Executed, and Sleep 11
* Process 16164 was created, and Executed, and Sleep 21
* Process 16165 was created, and Executed, and Sleep 24
* Process 16166 was created, and Executed, and Sleep 27
* Process 16167 was created, and Executed, and Sleep 8
* Process 16168 was created, and Executed, and Sleep 14
* Process 16169 was created, and Executed, and Sleep 14
* Process 16170 was created, and Executed, and Sleep 26
* Process 16171 was created, and Executed, and Sleep 20
* Process 16172 was created, and Executed, and Sleep 21
* Sub process: 16167 exited with 0
* Sub process: 16163 exited with 0
* Sub process: 16169 exited with 0
* Sub process: 16168 exited with 0
* Sub process: 16171 exited with 0
* Sub process: 16164 exited with 0
* Sub process: 16172 exited with 0
* Sub process: 16165 exited with 0
* Sub process: 16170 exited with 0
* Sub process: 16166 exited with 0

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30506.html

相关文章

  • 操作系统:进程线程

    摘要:实际工作并不是非此即彼,往往都是进程线程结合的方式。操作系统会保证当线程数不大于数目时,不同的线程运行于不同的上改善程序结构。关于操作系统内部如何创建销毁进程线程,即为什么这些操作进程消耗会比线程大,还没有搞明白。 一、浅层理解 进程是资源分配的最小单位,线程是CPU分配的最小单位——简单明了的说明了进程与线程的区别特点,然而在实际工作中并没有什么卵用。 二、多个维度下,进程与线程的优...

    Java3y 评论0 收藏0
  • python大佬养成计划----进程、线程与进程

    摘要:在一个进程内部,要同时干多件事,就需要同时运行多个子任务,我们把进程内的这些子任务称为线程。总结一下,多任务的实现方式有三种多进程模式多线程模式多进程多线程模式线程是最小的执行单元,而进程由至少一个线程组成。 进程与线程 很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持多任务的操作系统。 什么叫多任务呢?简单地说,就是操作系统可以同时...

    taowen 评论0 收藏0
  • PHP进程初探 --- 开篇

    摘要:所以我们只说的多进程,至于多线程就暂时放到一边儿。出来新进程则成为子进程,原进程则成为父进程,子进程拥有父进程的副本。在父进程中返回子进程的进程,在子进程内部本身返回数字。 [原文地址:https://blog.ti-node.com/blog...] 实际上PHP是有多线程的,只是很多人不常用。使用PHP的多线程首先需要下载安装一个线程安全版本(ZTS版本)的PHP,然后再安装pec...

    wh469012917 评论0 收藏0
  • python大佬养成计划-----进程

    摘要:多进程执行任务结束,创建进程和销毁进程是时间的,如果长度不够,会造成多线程快过多进程多线程执行任务结束,进程间通信生产者消费者模型与队列演示了生产者和消费者的场景。 进程 Python是运行在解释器中的语言,查找资料知道,python中有一个全局锁(GIL),在使用多进程(Thread)的情况下,不能发挥多核的优势。而使用多进程(Multiprocess),则可以发挥多核的优势真正地提...

    zhangfaliang 评论0 收藏0

发表评论

0条评论

crelaber

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<