我有两个独立的脚本,我试图用管道机制如open($ fh,' - |',“ ./monitor.pl“)这里monitor.pl是子进程,它们都是异步执行的,同时执行。放置在子进程的while循环内部的命令的输出连续写入管道句柄缓冲区正在填满。所以请给我建议机制和适当的位置来刷新缓冲区,以便在缓冲区填满时子进程不会挂起。Perl缓冲区冲洗
回答
请参阅IO::Handle。
$fh->autoflush(1);
手动刷新:书写后
自动冲水
$fh->flush;
Perl的版本低于5.14
你还需要加载IO ::处理模块:
use IO::Handle qw();
我应该在哪里使用此语句$ fh-> autoflush(1);就像打开这个'code'open($ fh,' - |',“./monitor.pl”); $ FH->自动冲洗(1); '代码' – 7Srv
是............ – daxim
上述机制在我的脚本方案中不起作用。子进程monitor.pl的执行是通过使用父进程打开的管道机制($ fh,' - |',“./monitor.pl”)来启动的。父进程可能执行几个小时,只要父进程异步执行,子进程必须也执行,但子进程在50分钟后挂起。我希望只要父进程执行2-3小时,子进程就应该写入管道句柄。 PLZ。建议我可以帮助我的任何机制。提前致谢。 – 7Srv
- 1. fgets的冲洗缓冲区
- 2. 防止冲洗缓冲区
- 3. C中的冲洗缓冲区
- 4. PyQt5 QProcess的冲洗缓冲区
- 5. 冲洗管道的缓冲区
- 6. 如何冲洗输入缓冲区? (C)
- 7. pySerial缓冲区不会冲洗
- 8. 声音输出缓冲区冲洗
- 9. 输入缓冲器冲洗
- 10. 谷歌大查询 - 冲洗缓冲区数据(缓冲区4天数据)
- 11. Flushing Perl STDIN缓冲区
- 12. Perl的打印缓冲冲
- 13. 缓冲区溢出缓冲区长度
- 14. 帧缓冲区/颜色缓冲区?
- 15. Perl缓冲输出
- 16. 冲洗
- 17. 在缓冲区
- 18. 与缓冲区
- 19. Ext.direct缓冲区
- 20. perl中的缓冲区操作
- 21. 区分Vim中的隐藏缓冲区和活动缓冲区
- 22. Colorschemes当缓冲区
- 23. Markdownize Emacs缓冲区
- 24. BASH,cat缓冲区
- 25. Emacs erlang缓冲区
- 26. 缓冲区是小
- 27. Pyopencl:to_device和缓冲区
- 28. AudioRecord缓冲区值
- 29. 协议缓冲区
- 30. 栈vs缓冲区
你在父母的过程中读了$ fh吗? –
是在父进程中读取$ fh。 PLZ。你能建议我任何机制吗? – 7Srv
因此,在阅读和处理数据时,孩子在提供数据方面比父母更快? –