У меня есть два отдельных сценария, и я пытаюсь инициировать выполнение одного сценария (дочернего процесса) из другого скрипта (родительского процесса) с использованием механизма pipe, такого как open ($ fh, '- |', ./monitor.pl ") здесь monitor.pl - это дочерний процесс, так что оба они выполняются асинхронно и одновременно. Выход команд, помещенных внутри цикла while дочернего процесса, записывается в дескриптор трубы непрерывно по этой причине буфер заполняется. Поэтому, пожалуйста, предложите мне механизм и соответствующее местоположение, чтобы очистить буфер таким образом, чтобы дочерний процесс никогда не зависал, когда буфер заполняется.Очистка буфера Perl
ответ
См. IO::Handle.
Автоматически вровень после написания:
$fh->autoflush(1);
Flush вручную:
$fh->flush;
На версиях Perl ниже 5.14
вы также должны загрузить IO :: Handle модуль:
use IO::Handle qw();
Где я должен использовать этот оператор $ fh-> autoflush (1); сразу после открытия трубы, как этот 'code'open ($ fh, '- |'," ./monitor.pl "); $ Fh-> AutoFlush (1); 'code' – 7Srv
Да ............ – daxim
Вышеупомянутый механизм не работает в сценарии сценария. Выполнение дочернего процесса monitor.pl инициируется с использованием этого механизма канала open ($ fh, '- |', "./monitor.pl") из родительского процесса. Родительский процесс может выполняться в течение нескольких часов, и дочерний процесс также должен выполняться до тех пор, пока родительский процесс будет выполняться асинхронно, но дочерний процесс зависает через 50 минут. Я хочу, чтобы дочерний процесс записывался в дескриптор трубы, пока выполняется родительский процесс, который может составлять 2-3 часа. Plz. предложите мне любой механизм, который может мне помочь. Заранее спасибо. – 7Srv
- 1. QtAV и очистка буфера
- 2. Прозрачная очистка графического буфера?
- 3. Очистка буфера STDIN вопрос
- 4. Очистка буфера перед завершением
- 5. Очистка буфера cout (C++)
- 6. Очистка буфера OpenCL clEnqueueMapBuffer
- 7. очистка буфера stdin?
- 8. Очистка буфера поля в ncurses
- 9. Очистка буфера мыши в C#
- 10. Очистка буфера, выходное имя, фамилия
- 11. Очистка буфера mouseclicks в openGL
- 12. Очистка отдельных форматов буфера обмена
- 13. Очистка цветового буфера в OpenGL
- 14. Что означает очистка входного буфера?
- 15. Очистка огромного Perl Codebase
- 16. Perl HTML-очистка
- 17. Обработка буфера в perl
- 18. проверка ввода cin, очистка входного буфера
- 19. Очистка данных буфера обмена в Android
- 20. Очистка буфера обмена с помощью VBScript
- 21. Очистка входного буфера при использовании сканера
- 22. Очистка и редактирование буфера обмена с Java
- 23. Очистка буфера чтения() при использовании сокета
- 24. Perl to Python - Очистка CSV
- 25. Быстрая очистка каталога с помощью Perl
- 26. Очистка обработчиков операторов в DBI perl
- 27. Perl регулярное выражение и захват буфера нумерации
- 28. асинхронная оценка всего python или perl-буфера
- 29. Очистка/освобождение офисного буфера обмена с использованием C# Interop
- 30. Vim, vimux, tmux и очистка панели буфера скроллинга
Ваше чтение $ fh в родительском процессе? –
да чтение $ fh в родительском процессе. Plz. можете ли вы предложить мне какой-либо механизм. – 7Srv
Итак, ребенок быстрее предоставляет данные, чем родительский, при чтении и обработке данных? –