Jaki jest wpływ zabicia procesu na system operacyjny (Windows i Linux)?

1

Jaki jest wpływ zabicia procesu na system operacyjny (Windows i Linux)?

Mam skrypt, który wyświetla niektóre pliki wykonywalne i monitoruje ich postępy oraz zabija te, które przekraczają określony limit czasu działania. Chciałem wiedzieć, czy procesy zabijania spowodowałyby problemy w systemie operacyjnym

Mohamed Samy
źródło

Odpowiedzi:

3

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 initkiedykolwiek 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.

zwol
źródło