我有兩個獨立的腳本,我試圖用管道機制如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
因此,在閱讀和處理數據時,孩子在提供數據方面比父母更快? –