Какое влияние оказывает уничтожение процесса на операционную систему (Windows и Linux)?

1

Какое влияние оказывает уничтожение процесса на операционную систему (Windows и Linux)?

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

Мохамед Сами
источник

Ответы:

3

Это зависит от того, что это за процессы и что они делают.

На самом базовом уровне ядро ​​спроектировано так, чтобы справляться с неожиданно умирающими процессами пользовательского режима (с одним или двумя исключениями: например, в Linux есть специальный код для принудительного сбоя системы, если он initкогда-либо завершится; вероятно, существует хотя бы один такой сверхспециальный процесс в Windows, но вы, вероятно, не пишете эти программы). Он автоматически закрывает все файлы, открытые процессом, освобождает память, снимает блокировки и т. Д. Таким образом, вам не нужно беспокоиться о нарушении фундаментальной стабильности ОС.

Теперь становится интереснее, если рассматриваемый процесс записывает данные в файловую систему или связывается с другими процессами (возможно, даже не на том же компьютере). Узлы связи получат внезапный EOF, TCP RST или что-то подобное. Файлы сохранятся, возможно, с внутренне несовместимым содержимым, и что-то может сработать. В конечном счете, вы несете ответственность за то, чтобы все остальное в системе было подготовлено к тому, чтобы ваш процесс ушел.

Читайте о дизайне только для сбоев, чтобы узнать, как создавать надежные системы при наличии ограничителей ресурсов и тому подобное.

zwol
источник