【发布时间】:2013-07-17 06:07:56
【问题描述】:
我有两个单独的脚本,我尝试使用诸如 open($fh, '-|', "./monitor 之类的管道机制从另一个脚本(父进程)启动一个脚本(子进程)的执行.pl") 这里的 monitor.pl 是子进程,因此它们都异步同时执行。由于这个原因缓冲区被填满,放置在子进程的while循环内的命令的输出被连续写入管道句柄。所以请建议我刷新缓冲区的机制和适当的位置,这样子进程就不会在缓冲区填满时挂起。
【问题讨论】:
-
你在读$fh在父进程吗?
-
是的,在父进程中读取 $fh。请。你能建议我任何机制吗?
-
那么孩子提供数据的速度比父母读取和处理数据的速度快吗?
-
可能……不确定…………
-
好吧,如果是这种情况,那么您需要在父母和孩子之间有一些东西可以缓冲孩子的输出。当然,这只有在某些时期孩子没有产生更少的输出时才有效......
标签: perl