Co oznacza <defunct> w wyjściu ps?

15

Wydałem ps -ef|grep javapolecenie i oto jeden z moich wpisów:

subhrcho   875   803  0 Jan23 pts/5    00:02:27 [java] <defunct>

Co to <defunct>oznacza tutaj? W jakim stanie jest ten proces z PID = 875 w?

Maniak
źródło

Odpowiedzi:

16

Ze strony ps :

Oznaczone procesy <defunct>to martwe procesy (tak zwane „zombie”), które pozostają, ponieważ ich rodzic nie zniszczył ich odpowiednio. Procesy te zostaną zniszczone przez init (8), jeśli proces macierzysty wyjdzie.

schaiba
źródło
jaka jest umowa między procesem nadrzędnym a procesem potomnym w celu zniszczenia procesu potomnego? Myślałem, że obowiązkiem dziecka jest powiadomienie rodzica o zniszczeniu?
Geek
@Geek Jądro niszczy proces potomny i powiadamia rodzica. Dziecko dzwoni _exitlub umiera z powodu sygnału. Gdy jądro niszczy proces, pozostaje tylko wpis w tabeli procesów, który znika, gdy wywołuje rodzic (lub proces 1 dla sierot) wait.
Gilles „SO- przestań być zły”
2
@Giles Co to znaczy, gdy strona podręcznika mówi, że rodzic nie zniszczył prawidłowo procesu potomnego? rodzic nie zadzwonił czekać?
Geek