• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    linux C语言开发管道通信实例详解

    linux C语言开发管道通信

       Linux系统本身为进程间通信提供了很多的方式,比如说管道、共享内存、socket通信等。管道的使用十分简单,在创建了匿名管道之后,我们只需要从一个管道发送数据,再从另外一个管道接受数据即可。

    #include stdio.h> 
    #include unistd.h> 
    #include stdlib.h> 
    #include string.h> 
     
    int pipe_default[2]; 
     
    int main() 
    { 
     pid_t pid; 
     char buffer[32]; 
     
     memset(buffer, 0, 32); 
     if(pipe(pipe_default)  0) 
     { 
      printf("Failed to create pipe!\n"); 
      return 0; 
     } 
     
     if(0 == (pid = fork())) 
     { 
      close(pipe_default[1]); 
      sleep(5); 
      if(read(pipe_default[0], buffer, 32) > 0) 
      { 
       printf("Receive data from server, %s!\n", buffer); 
      } 
      close(pipe_default[0]); 
     } 
     else 
     { 
      close(pipe_default[0]); 
      if(-1 != write(pipe_default[1], "hello", strlen("hello"))) 
      { 
       printf("Send data to client, hello!\n"); 
      } 
      close(pipe_default[1]); 
      waitpid(pid, NULL, 0); 
     } 
     
     return 1; 
    } 
    

        下面我们就可以开始编译运行了,老规矩分成两步骤进行:(1)输入gcc pipe.c -o pipe;(2)然后输入./pipe,过一会儿你就可以看到下面的打印了。

    [test@localhost pipe]$ ./pipe 
    Send data to client, hello! 
    Receive data from server, hello! 

    感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    您可能感兴趣的文章:
    • linux下c语言的多线程编程
    • Linux 下C语言获取文件大小
    • Linux下C语言的几道经典面试题小结(分享)
    • Linux 中C语言getcwd()函数的用法
    • Linux 下C语言连接mysql实例详解
    • linux下C语言实现写日志功能
    上一篇:linux 驱动之Kconfig文件和Makefile文件实例
    下一篇:浅谈ctrl+c,ctrl+d,ctrl+z在linux中的意义
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    linux C语言开发管道通信实例详解 linux,语言,开发,管道,通信,