Как я узнаю, что мой дочерний процесс повесился во время работы?Подпроцесс Python, как определить, зависает ли дочерний процесс?
ответ
Хорошо, как вы определяете разницу между застрявшим процессом и процессом, который занимает больше времени, чем обычно? Короткий ответ: Нет, вы не можете определить, застрял ли ваш дочерний процесс.
Я бы сказал, что для обнаружения этого вам требуется некоторая непрерывная связь с процессом (например, посмотрите файлы журналов, IPC или аналогичные). На основе этого сообщения вы можете сказать, когда и если процесс застрял.
Я думаю, вы спрашиваете, как вы обнаружите, что дочерний процесс висит во время работы. Вы не можете легко сказать. Процесс может выполнять длительную работу. Контекст важен для понимания того, когда процесс зависает.
Если вы ожидаете, что процесс будет реагировать на ввод пользователя и не реагирует на длительный период, мы считаем, что он висел. Процесс работает, вероятно, ждет чего-то, чего никогда не произойдет. «Хунг-процесс» - это по-человечески способ сказать, что программа зашла в тупик и не будет более полезной.
У вас может быть программа, вычисляющая простые числа одна за другой и может работать в течение эонов и не может быть вызвана зависанием процесса.
Хорошо. Сначала мы можем установить тайм-аут по умолчанию, а затем при необходимости завершить процесс. Это правда? – sultan
Да Но время ожидания по умолчанию может быть определено пользователем только в контексте. Как я уже упоминал в своем ответе: если вы вычисляете большие простые числа, это может занять много времени. Таким образом, контекст определяется тем, что делает программа, и разумным догадком о его заключении. – pyfunc
Я пытаюсь использовать ядро браузера для отображения некоторого содержимого внутри подпроцесса. – sultan
- 1. дочерний процесс зависает внутри трубы
- 2. вильчатый дочерний процесс зависает в node.js
- 3. Python - подпроцесс - процесс не начат
- 4. Терминал зависает после sshing через подпроцесс python
- 5. Как определить, имеет ли подпроцесс конечную обработку?
- 6. Подпроцесс подпроцесса Python зависает при запуске rpm2cpio
- 7. Завершить подпроцесс в Python
- 8. В Node.js, как определить, начался ли дочерний процесс без ошибок?
- 9. подпроцесс python зависает при передаче stderr
- 10. Подпроцесс обработки python
- 11. Python породил дочерний процесс ID
- 12. Получите Ruby, чтобы определить, получил ли дочерний процесс segfault
- 13. Остановить подпроцесс python, оставляя за собой мертвый процесс «python»
- 14. убить подпроцесс, когда процесс python убит?
- 15. Проверка, выполняется ли дочерний процесс
- 16. Как узнать, работает ли дочерний процесс?
- 17. Как проверить, работает ли дочерний процесс?
- 18. Как убить дочерний процесс
- 19. Убить дочерний процесс из основного приложения
- 20. Как определить, отлаживается ли процесс
- 21. Подпроцесс python - Как проверить, нет ли новых данных в PIPE?
- 22. Python kill parent script (подпроцесс)
- 23. Как определить процесс
- 24. Демон python, чтобы проверить, не зависает ли процесс в Linux
- 25. Linux, разветвленный процесс зависает сразу
- 26. Python: может ли дочерний процесс приостановить/возобновить родительский
- 27. Исчезновение дочерний процесс
- 28. Python начиная подпроцесс как администратор, не вызывая процесс будучи админами
- 29. Как определить, является ли текущий текущий процесс родительским?
- 30. Python перенаправляет ввод в дочерний процесс
Как использовать связь в случае вложенных подпроцессов? Причина, по которой я выбираю некоторый модуль в подпроцессе, и он делает свой собственный подпроцесс по очереди. – sultan
Каждый процесс имеет родительский, а вложенные подпроцессы имеют родительский. Создайте трубы (IPC), как указано в ответе. Напиши и получай от них между процессами, и когда они сломаны, и вы не можете читать и писать от них, вы можете считать, что процесс висел. – pyfunc
Теперь я буду заботиться о IPC. Thanx! – sultan