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?

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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.