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