Keresi és ölni zombi folyamatok elvégzésére beállítása és karbantartása szerverek
Mi ez?
Ez a gyermek folyamat Unix -rendszer, befejezte a végrehajtás, de még mindig jelen van a listán operációs rendszer folyamatok, így a szülő folyamat befejeződött kódot. Folyamat végén felszabadítja az erőforrásokat (kivéve a PID - a folyamat azonosítóját), és lesz egy „zombi” - egy üres bejegyzést a folyamat táblázat, amely tárolja a befejezés kódot a szülő folyamat.
A rendszer értesíti a szülő folyamat befejezésének a gyermek által SIGCHLD jelet. Feltételezhető, hogy miután megkapta a SIGCHLD hisz a visszatérési kódot a várakozás () rendszerhívás. ami után a zombik törlődik a listáról folyamatokat. Ha a szülő nem veszi figyelembe a SIGCHLD (és figyelmen kívül hagyja az alapértelmezett), akkor a zombik marad, amíg annak befejezését.
És most felmerül a kérdés: hogyan lehet az, hogy találnak, és megölik? Találd meg nagyon egyszerű. Íme néhány lehetőség:
1)
tetejére | grep zombi
225 folyamatok: 1 futó, 222 alszik, 2 zombi
3)
ps -alx | awk „$ 10
Ami a „gyilkosság”, akkor nem csak megölni. A legjobb megoldás -, hogy megtalálják a szülő folyamat és indítsa újra. Néhány tanácsot adhat, és indítsa újra, de ez nem lehetséges.
Keresse meg a szülő folyamat:
ps AJX | grep -w Z
gyökér 3994 3992 3992 3992 0 Z. 16: 23.02
gyökér 3995 3992 3992 3992 0 Z. 13: 43.28
Harmadik oszlop csak azt mutatja, a szülő folyamat pid. Nézd, mi ez a folyamat:
Tulajdonképpen mi megtaláltuk a tettes. Ez exilog_agent. És akkor - vagy egyszerűen szegezett szülő vagy indítsa újra:
#kill -9 3992
#top | grep zombi
#