To zależy od tego, jakie są te procesy i co robią.
Na najbardziej podstawowym poziomie jądro jest zaprojektowane tak, aby radzić sobie z procesami w trybie użytkownika nieoczekiwanie umierającymi (z jednym lub dwoma wyjątkami: na przykład Linux ma kod specjalnych przypadków, który wymusza awarię systemu, jeśli init
kiedykolwiek się zakończy; prawdopodobnie jest co najmniej jeden taki wyjątkowy proces w systemie Windows, ale prawdopodobnie nie piszesz tych programów). Automatycznie zamyka wszystkie pliki, które proces otworzył, zwalnia pamięć, zwalnia blokady itp. Nie musisz więc martwić się o fundamentalną stabilność systemu operacyjnego.
Teraz staje się bardziej interesujące, jeśli dany proces zapisuje dane do systemu plików lub komunikuje się z innymi procesami (być może nawet na tym samym komputerze). Uczestnicy komunikacji otrzymają nagły EOF, TCP RST lub coś podobnego. Pliki będą się utrzymywać, prawdopodobnie z wewnętrznie niespójnymi treściami i coś może się o nie potknąć. Ostatecznie Twoim obowiązkiem jest upewnić się, że wszystko inne w systemie jest przygotowane, aby poradzić sobie z zakończeniem procesu.
Zapoznaj się z projektem dotyczącym wyłącznie awarii, aby dowiedzieć się, jak budować systemy, które są niezawodne w obecności mechanizmów egzekwujących ograniczenia zasobów i podobnych.