首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于匿名管道的输出重定向有关问题

2012-04-25 
关于匿名管道的输出重定向问题父进程是windows服务程序,一个win32控制台程序作为子进程。需要子进程的输出

关于匿名管道的输出重定向问题
父进程是windows服务程序,一个win32控制台程序作为子进程。需要子进程的输出重定向到父进程中,使用windows匿名管道,发现子进程的输出要等到该进程退出后才能被父进程读取到,此外,子进程单独运行很正常,但是在父进程里创建后,使用管道读取时,发现占用CPU很高,而父进程占用CPU很正常,很难理解是父进程的读取函数被锁住了,因为父进程并没有CPU占用异常。
代码:

。。。
创建管道...
CreateProcess(......);
。。。

//读取线程
...
 while (true)
 {
Sleep(20);
  ReadFile(hReadPipe,buffer,4095,&bytesRead,NULL);
 ....... 
 }
...


[解决办法]
只看到你的ReadFile了,有写WriteFile,匿名管道的话,必须有两个管道,一个负责读,一个负责写的,不然就会出现貌似阻塞的问题,我以前也出过类似问题,后来发现自己根本就没有创建写的管道

热点排行