• 技术文章 >PHP >PHP教程

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

    小妮浅浅小妮浅浅2021-08-20 09:45:47原创3889

    说明

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

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

    实例

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

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

    推荐操作系统:windows7系统、PHP5.6、DELL G3电脑

    专题推荐:php多进程通信 管道
    品易云
    上一篇:php信号量和共享内存分别是什么 下一篇:php生成用户密码的两种方法

    相关文章推荐

    • php引用计数如何实现垃圾回收• php中TCP和UDP的区别• php长连接什么• php短连接是什么• php单例模式如何理解• php工厂模式的介绍• php中Redis和Memcached的不同• php双引号和单引号的区别• php中get和post有哪些不同• php中require和include如何区分• php PSR-4是什么意思• php7.3中Heredoc和Nowdoc语法的使用• php尾部逗号的使用• php中PCRE2的使用• php中实现数组去重的函数• php数组中如何重置索引• php中array_filter清除空值• php数组中array_product函数的使用• php数组中array_count_values的使用

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网