当前位置:  技术问答>linux和unix

这是一个关于Linux的管道的程序,请问一下这个程序是什么意思,能不能解释一下

    来源: 互联网  发布时间:2016-04-23

    本文导语:  代码如下: #include #include #include int pid1,pid2; void main() { int fd[2];   char OutPipe[100],InPipe[100];   pipe(fd);   while((pid1=fork()==-1))   ;   if(pid2==0)   {    lockf(fd[1],1,0);       sprintf(OutPipe,"n Child process...

代码如下:

#include
#include
#include


int pid1,pid2;

void main()
{
int fd[2];

  char OutPipe[100],InPipe[100];

  pipe(fd);


  while((pid1=fork()==-1))
  ;

  if(pid2==0)
  {
   lockf(fd[1],1,0);
      sprintf(OutPipe,"n Child process 1 is sending message!n");
     write(fd[1],OutPipe,50);
 sleep(5);

 lockf(fd[1],0,0);

 exit(0);
  }

  else
  {
  while((pid2=fork()==-1)
  ;

   if(pid2==0)
   {
   lockf(fd[1],1,0);
      sprintf(OutPipe,"n Child process 2 is sending message!n");
     write(fd[1],OutPipe,50);
 sleep(5);

 lockf(fd[1],0,0);

 exit(0);
   }
   else
   {
   wait(0);
   read(fd[0],InPipe,50);
     printf("%sn",InPipe);
      wait(0);
     read(fd[0],InPipe,50);
     printf("%sn",InPipe);
 exit(0);
   }
  }
}
   

|
两个进程间通过管道通信

|
建议你看看 Unix进程间通信 第二卷
csdn资源区有的下载


    
 
 

您可能感兴趣的文章:

  • 据说这是史上最变态的6个C语言Hello, World程序
  • trap '' INT..为什么ctrl+c,不会终止脚本程序呢。这是Linux程序设计里面的例子。
  • 定时top看系统参数,发现我的程序的SIZE项和RES项的数值一直在增加,这是不是说明,我的程序有内存泄漏?
  • 我在cygwin里运行自己的程序结果不能print出来。然而在WIN_TC里却可以。这是为什么?
  • 这是我的程序的所有线程,请问大家我的程序到底一攻占用多少的内存?
  • telnet到主机去运行一个我编的程序,退出telnet时那个程序也不运行了,这是怎么回事?按程序逻辑它应该一直运行下去的。
  • 我的程序莫名其妙的结束了,没有core文件,这是怎么会事?
  • 这是一段可以执行的awk程序,请问能否改进一下? 帮忙来看看,谢谢
  • 在redhat9.0的终端上,执行用gcc编译的c++程序,没有任何输出,这是怎么回事?
  • 请问gz格式的文件如何安装,我在Redhat 7.0下。这是我的via97声卡的驱动程序。
  • 我在SCOUNIX上用C写了一段SOCKET程序,在SCOUNIX上运行正常,但是在SOLARIS上则出错,请问高手,这是为什么?
  • 我的小应用程序在JCREATOR的Appletviewer里可以浏览但是不能在浏览器里运行这是为什么
  • 这是一道面试题,哪位大哥帮忙找出错误并改正使程序能正常运行。
  • 用jdk能运行的程序,在jbuilder6中打开后,点右键在菜单中选择run后,却出现错误,这是怎么回事??????
  • 我是一名java初学者,执行第一个java程序welcome.java出现了以下错误,这是为什么?
  • 运行错误!这是我的第一个java 程序!
  • 源程序可以编译通过,但里面的String s 全都是空的,这是怎么回事?
  • linux gdb: 我在一台机器上编译的程序用GDB可以调试,把程序放到另外一台机器上调试,调试信息就没有了 这是什么原因呢?
  • 那位能看懂下面这几行程序?请解释一下这是什么样的语法。
  • linux编程问题,这是linux编程中的一个经典程序。
  • 这是一个数字转化为中文大写的程序,但缺转化小数部分,谁帮我添上?给高分!!(两位小数)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ll后,显示用户和组都是nobody,这是什么意思?
  • superclass supera =new superclass(),superb;这是什么意思superclass是父类superrb是子类
  • 谁能解释这是什么意思?
  • 请大家帮我看看这是什么意思?
  • 那位朋友帮忙看看这是什么意思?多谢
  • 请看,这是什么意思?
  • 这是什么意思?
  • libmysqlclient,这是什么意思
  • skb中有个dst,注释是FIXME。这是什么意思啊!
  • 这是什么意思啊?
  • 这是什么意思
  • ConverterHome.class,这是什么 意思?(ConverterHome是EJB的HOME接口)
  • 这是什么意思啊???
  • 请问:在Qt中定义类时,第一行老是有 Q_OBJECT ,这是什么意思啊,有什么作用啊?
  • 最近在linux下装extmail,看文档不明白这是什么意思,帮忙翻译下
  • 在ARM文章经常看到[1:0]和[31:2]这是什么意思啊.
  • 我的LINUX在安装时选取了DHCP,我不知道这是什么意思,好象装错了,现在如果想改IP设置,怎么改?
  • 那位高手快帮帮我吧!这是什么意思?
  • 请问这是什么意思?关于linux 内核源码!
  • 谁能告诉我这是什么意思 /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/host6/port-6:0
  • 我从网上下了一个JB5,装好后启动时它要我输入'名字'和'公司',这是干麻呀?最后还是进不去这是怎么回事呀?
  • 这是用什么方式编码的,如何解码?
  • SSread 这是什么格式用什么阅读器
  • 这是jbuilder6的bug还是windows的问题?
  • 谁能告诉我 这是为什么
  • 请问有谁知:“空格”对应%20, “<“对应%3C,这是几进制或是什么格式的转换?
  • 这是怎么回事??来者有分!!
  • 这是哪个地方出错了?
  • 这是什么原因了?
  • 请问这是什么型号的交换机??
  • 这是什么出错了啊 ! 高分 !


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3