Вопрос

Я хотел бы знать, какие методы существуют, чтобы проверить здоровье процесса. Учитывая, что в процессе системы 10000 работают, и вы должны убедиться, что в случае, если какой-либо из этих процессов нам нужно сделать процесс.

Это было полезно?

Решение

Используйте идентификатор процесса (PID) и опрос, является ли процесс еще живым или периодически мертв; И если он умер, то возрождай его.

Однако, если у вас есть 10000 процессов, вы, вероятно, сначала найдут ограничение процесса ОС. Я предлагаю перепроектировать вашу программу, чтобы вам не нужны большие процессы в первую очередь.

Другие советы

Повторные вырезывающие процессы, которые идут вниз, обычно обрабатывают, имея определенные программы Launcher для exec () программы и дождитесь, что Sigchild указывает на дочерний процесс.

Для приложений времени загрузки (серверы и т. Д.) Пользомоны, как выскочка Можете сделать это для вас автоматически.

В то время как другие указывают на то, что приложения уже существуют (что вы действительно должны использовать, если у вас нет понятной причины не) Я выброс случайную идею для пользовательского решения.

Если вы контролируете все N процессы, затем делают их все иметь одну общую память N Биты большие (так, 10000 процессов ~ 1 КБ, не плохо). При запуске каждого процесса дайте ему номер, i, начиная от 0 до н. каждый T секунд у каждого процесса установится бит i в общей памяти до 1. процесс мониторинга может проверить, что все N биты 1 каждый k*T секунды, сбрасывая их все до 0 в процессе.

Это все еще o (n), которое вы неберете избежать, но примитивы все действительно быстрые и должны масштабироваться до пределы потока OS.

Альтернативное представление о получении i Было бы просто использовать PID, но затем общая память должна быть больше (вероятно, будет все в порядке, хотя; например, диапазон PID Linux небольшой).

Есть утилита называется монить Что делает то, что вы ищете. Но это для определенных важных процессов в Linux. Все 10000 процессов важны !!!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top