server01:/# ps -ax | grep java Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 7342 pts/3 Z 0:00 [java] <defunct> 7404 pts/3 S+ 0:00 grep java server01:/# kill 7342 server01:/# ps -ax | grep java Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 7342 pts/3 Z 0:00 [java] <defunct> 7406 pts/3 S+ 0:00 grep java server01:/# In the above I am using ps command to know the pid of the java process which is 7342 in the above case.Then I killed that process using kill command. But that is not killed because again ps command shows java process with pid 7342.Should I use some else command to kill the process and Why kill is not able to kill the processThanx
7 Réponses :
kill $(pgrep [search pattern]) See if that works better. You have to be either root or the process owner to kill a process.
essayer p>
alors p>
Demander au programme de se fermer, s'il ne répond pas, vous pouvez le forcer à fermer p>
N'oubliez pas que l'utilisation de -9 pour forcer le programme finalisera sans demander et ne pas sauver quoi que ce soit Vérifiez: Homme tuer Pour plus de détails p>
N'oubliez pas que Kill -9 devrait être votre dernier recours car il ne laisse pas que les enfants traitent du processus que vous meurez. Ils deviennent donc des processus zombies.
Kill -9 peut être utilisé comme dernier recours pour assurer le processus matrien ..... p>
Linux prend en charge les commutateurs de style BSD à la commande Je recommande d'utiliser la forme BSD des commutateurs et recherchez l'option Aussi, vous essayez de tuer un zombie. Comme vous avez découvert que c'est un effort futile. Un zombie est un espace réservé dans le processus capable d'un processus déjà mort. Il reste dans la table de processus jusqu'à ce que son processus parent "récolte" son code de sortie. Si le parent ne fait jamais un conceptuellement, chaque processus qui sort sur un système UNIX / Linux consacre une petite quantité de temps sous la forme d'un "zombie" ... qui est qu'il devrait toujours y avoir une période de temps entre la résiliation du processus et le moment où un autre processus lit sa valeur de sortie (même si seulement pour le jeter, comme Cette question devrait vraiment aller sur Serverfault P> ps code> (sans le plus haut - ... Dash / Hyhen). Si on fournit l'hypen, la version GNU CARUTILS de PS CODE> (celui qui est standard sur les distributions de Linux traditionnels) tentera d'interpréter les commutateurs comme étant compatible SYSV. C'est la source de votre erreur. P>
-o code> pour spécifier un format de sortie composé uniquement du PID des processus correspondants. P>
attendre () code> appel système, l'entrée restera là-bas jusqu'à une fois que le parent est tué, à quel point le zombie (et tout autre processus orpheliné) sera hérité par le init code> processus. La normale init code> sous Linux (ou toute autre forme de UNIX) récolte périodiquement tous les processus morts (zombies). P>
init code> fait). P>
Addition: en exécutant PS AUXF code> Vous verrez ce que le processus parent est. Il est soit bloqué aussi, ou ne prêtant pas attention à ses enfants.
Le processus est répertorié comme défunt. Son travail est fait et il est gardé car le processus parent est toujours là. Toutefois, si le parent s'est écrasé ou a été tué par Kill -9, il n'y a pas de processus parent, le processus de défunt sera donc maintenu jusqu'au redémarrage. Les processus de défunt (ou de zombie) n'utilisent que des ressources minimales, vous pouvez donc les garder. P>
solution: tuez le parent ou utilisez tuer -9
Ou si vous êtes frustré, Kill -Kill
Merci pour la connaissance. Kill -9
Le processus Java est devenu un processus de zombie. Vous devriez essayer d'envoyer le signal sigchld code> sur le processus parent via tuer code> pour dire au processus parent de récolter le processus de l'enfant zombie. A défaut, comme mentionné par @martin, vous pouvez tuer le parent ou Kill -9 code> le processus de zombie. P>
Kill PID (s) recherché par 'mot-clé'; p> kill -9 $ (mot-clé PGREP -F) code>. p>
Appartient sur superuserer.com
La question ne concerne pas la programmation générale, mais sur les systèmes. Essayez superuserer.com