1

我有两个单独的脚本,我将尝试使用诸如 open($fh, '-|', "./monitor.pl" 之类的管道机制从另一个脚本(父进程)启动一个脚本(子进程)的执行) 这里的 monitor.pl 是子进程,因此它们都异步同时执行。放置在子进程的 while 循环中的命令的输出被连续写入管道句柄,因为这个原因缓冲区被填满了。所以请建议我刷新缓冲区的机制和适当的位置,这样子进程就不会在缓冲区填满时挂起。

4

1 回答 1

1

请参阅IO::Handle

写入后自动刷新:

$fh->autoflush(1);

手动冲洗:

$fh->flush;

在低于5.14您的 Perl 版本上,您还需要加载 IO::Handle 模块:

use IO::Handle qw();
于 2013-07-17T07:20:58.317 回答