Cum se pot opri procesele Zombie Linux

Configurare noua (How To)

Situatie

Programele slab scrise sau cu performanțe slabe pot lăsa procesele zombie ascunse în computerul Linux. Acesta, desigur, trebuie să țină evidența tuturor aplicațiilor și demonilor care rulează pe computer. Unul dintre modurile în care face acest lucru este menținerea tabelului de proces. Aceasta este o listă de structuri din memoria nucleului. Fiecare proces are o intrare în această listă care conține câteva informații despre acesta.

Solutie

Pasi de urmat

Procesul inițial efectuează în mod regulat curățarea necesară a zombilor, așa că, pentru a-i ucide, trebuie doar să ucizi procesul care i-a creat. Comanda de sus este o modalitate convenabilă de a vedea dacă aveți zombi.

Tastați următoarele:

top

Acest sistem are opt procese zombie. Le putem enumera folosind comanda ps și introducând-o în egrep. Din nou, procesele zombie au un steag de stare „Z” și, de obicei, veți vedea și „defunct”.

Tastați următoarele:

ps aux | egrep "Z|defunct"

Procesele zombie sunt enumerate.

Acesta este un mod mai elegant de a descoperi ID-urile de proces ale zombilor decât să derulați înainte și înapoi prin partea de sus. De asemenea, vedem că o aplicație numită „badprg” a dat naștere acestor zombi.

ID-ul procesului primului zombie este 7641, dar trebuie să găsim ID-ul procesului procesului său părinte. Putem face acest lucru folosind din nou ps. Vom folosi opțiunea de ieșire (-o) pentru a spune ps să afișeze doar ID-ul procesului părinte și apoi să îl transmitem cu steagul ppid = steag.

Procesul pe care dorim să îl găsim va fi indicat folosind opțiunea -p (proces) și apoi trecând în ID-ul procesului zombie.

Prin urmare, tastăm următoarea comandă pentru a căuta informațiile despre proces pentru procesul 7641, dar va raporta doar ID-ul procesului părinte:

ps -o ppid= -p 7641

Ni se spune că ID-ul procesului părinte este 7636. Acum putem face referință încrucișată folosind ps încă o dată.

Vedem că se potrivește cu numele procesului părinte de mai devreme. Pentru a ucide procesul părinte, utilizați opțiunea SIGKILL cu comanda kill, după cum urmează:

kill -SIGKILL 7636

În funcție de proprietarul procesului părinte, poate fi necesar să utilizați și sudo.

Tip solutie

Permanent

Voteaza

(12 din 22 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?