PHP多进程DEMO
<?php declare( ticks=1 ); pcntl_signal( SIGCHLD, "sig_handler" ); function sig_handler( $signo ) { switch ( $signo ) { case SIGCHLD: $status = 0; $child_id = pcntl_wait( $status ); echo sprintf( "child exit id: {$child_id} \n" ); // exit( 0 ); break; default: echo 'uncaugh signal !'; } } $i = 0; $pid = pcntl_fork(); if ( $pid > 0 ) { echo "我是parent \n"; while ( 1 ) { $i ++; sleep( 1 ); echo "父进程" . $i . PHP_EOL; if ( $i > 20 ) { break; } } $name = "小头爸爸"; } elseif ( $pid == - 1 ) { die( 'fork error' ); } else { echo "child begin \n"; //子进程得到的$pid为0, 所以这里是子进程执行的逻辑。 while ( 1 ) { $i ++; sleep( 1 ); echo '子进程' . $i . PHP_EOL; if ( $i > 10 ) { echo "child exit \n"; exit( 0 ); } } $name = "大头儿子"; } var_dump( $name );
相关推荐
-
php验证码 php
2019-1-7
-
微信红包算法.php php
2019-1-7
-
根据日期获取当月的开始时间和结束时间 php
2019-1-8
-
php获取手机号码以及ip地址实例 php
2019-1-8
-
php常用header状态 php
2019-1-7
-
php操作excel到数据库 php
2019-1-13
-
PHP生成自定义验证码 php
2019-1-8
-
php概率算法 php
2019-1-8
-
php获取当前页面的url地址 php
2019-1-8
-
php红包算法函数[优化] php
2019-1-13