Een zombie proces is een computer proces op een Unix - gebaseerd besturingssysteem dat de uitvoering is voltooid , maar heeft nog steeds een proces-ID -nummer nog in proces tabel van het besturingssysteem . Het is de overblijfselen van een groter proces of programma dat niet te verzamelen en uit te voeren al van de afrit opdrachten voor wanneer het proces wordt beëindigd . Deze processen niet nemen elke CPU-cycli of geheugenruimte wel. Oorzaak Defecte programmacode leidt vaak tot processen niet goed eindigen , wat resulteert in zombie processen die zich voordoen in lopende programma's . De programmeur heeft geen bovenliggende proces geprogrammeerd om de " wachttijd " systeem bellen om een kind proces om zelfstandig uit te voeren , terwijl de ouder wordt opgeschort . Dit betekent dat het kind proces niet over een exit status -bericht terug te keren naar de ouder als het eindigt , zodat de ouder nooit ontvangt bericht over de beëindiging , en het kind -proces wordt een zombie proces . Overwegingen haast je niet om zombie processen te beëindigen zodra je ze vinden . Soms bovenliggende processen vertrekken zombie processen op doel , zodat hetzelfde proces ID-nummer niet aan twee afzonderlijke processen tijdens de levensduur van het programma wordt gegeven . Als u slechts een paar zombie processen op een tijdstip dat niet persistent zijn te zien , kan de ouder verwerkt ze uiteindelijk beëindigen. Echter , als je systeem begint te vertragen met een grote hoeveelheid processen lopen , eindigen sommige zombie proces kan verbeteren . Lokaliseren Zombies Met behulp van een unix commando tool om de " ps " commando uit te voeren - kort voor process status - een overzicht van alle processen die momenteel op een systeem . Elk proces vermeld als " z " onder de kolom Stat is een zombie proces . Elk van deze processen die er bestaan , terwijl de ouder proces of programma loopt nog een indicatie van gebrekkig code , terwijl zombie processen die draaien zonder een ouder programma staan meestal voor een bug in het besturingssysteem zelf . Killing Zombies Zombie processen behouden proces-ID -nummers in het proces binnenkomst tafel , dus het hebben van te veel van hen te maken ertoe leiden dat uw systeem te lopen van deze nummers . U kunt echter met geweld te beëindigen zombie processen vrij te maken van hun proces ID waarden in de tabel . Opzeggen door middel van de " kill - s SIGCHLD " commando , waarbij " PPID " vertegenwoordigt de zombie ouders proces-ID . U kunt ook met geweld doden ouder processen voor alle kinderen en zombie processen die ze hebben ook gemaakt beëindigen .
|