php多进程通信之管道的介绍

说明

1、管道是比较常用的多进程通信手段,管道分为无名管道与有名管道。

2、无名管道只能用于具有亲缘关系的进程间通信,而有名管道可以用于同一主机上任意进程。

实例

$pipe_path='/data/test.pipe';
if(!file_exists($pipe_path)){
if(!posix_mkfifo($pipe_path,0664)){
exit("createpipeerror!");
}
}
$pid=pcntl_fork();
if($pid==0){
//子进程,向管道写数据
$file=fopen($pipe_path,'w');
while(true){
fwrite($file,'helloworld');
$rand=rand(1,3);
sleep($rand);
}
exit('childend!');
}else{
//父进程,从管道读数据
$file=fopen($pipe_path,'r');
while(true){
$rel=fread($file,20);
echo"{$rel}\n";
$rand=rand(1,2);
sleep($rand);
}
}

以上就是php多进程通信之管道的介绍,希望对大家有所帮助。更多php学习指路:php教程

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容