|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : mars 2002 Messages : 61 ![]() |
Bonjour,
Tout d'abord une petite précision, mon pb concerne hp-ux mais je la pose sur ce forum car peut-être est-il le même sous Linux... Je lance un programme en arrière plan (&) depuis un shell. Lorsque le shell se termine, le programme en question devient orphelin et il est alors recueilli par init (PPID = 1). Le problème est que si maintenant je tente de le tuer (kill -9) il devient defunct et ne veut plus mourir. Merci pour toute suggestion... |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : octobre 2005 Messages : 344 ![]() |
J'ai bien peur que la seule solution pour killer un tel process soit un reboot ...
As-tu essayé de le killer à partir de root ? |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 922 ![]() |
Bonjour,
J'avais eu le même problème sous Redhat 7.1 il y a quelques années. Nous n'avions pas trouvé de solution. Il semble que seul un reboot permette de les éliminer.
__________________
[alkama] quelqu'un est allé voir la guerre des mondes? [@Chrisman] j'espère pour spielberg --- bashfr.org |
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : mars 2002 Messages : 61 ![]() |
Oui kill -9 sous root : Idem. Le processus devient <defunct>
Il est tout de même étrange de ne pas pouvoir lancer un programme en & dans un shell et le tuer proprement ensuite... |
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 922 ![]() |
J'ai trouvé une explication:
Citation:
__________________
[alkama] quelqu'un est allé voir la guerre des mondes? [@Chrisman] j'espère pour spielberg --- bashfr.org |
|
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : mars 2002 Messages : 61 ![]() |
C'est effectivement ce qui ce passe. Et ça paraît logique au vu de ce mécanisme.
Au bout d'un moment d'utilisation le système n'a plus de place dans la process table et ne peux plus forker... Il me faut préciser que ce problème est survenu lors du transfert d'une application d'une machine sur une autre, de type différent mais avec la même version HP-UX 10.20A. Sur l'ancienne machnine, un programme lancé en & dans un shell qui se termine ensuite peut être tué sans problème après coup et ne génère pas de <défunct> bien que son PPID soit 1. |
|
|
00
|
|
|
#7 |
![]() ![]() Arnaud FeltzDéveloppeur .NET Inscription : août 2005 Messages : 5 204 ![]() |
Question bête mais quand tu tape jobs il est pas dans la liste des processus?
++
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère Installation de Code::Blocks sous Debian à partir de Nightly Builds
|
|
00
|
|
|
#8 |
![]() Inscription : mars 2004 Messages : 1 298 ![]() |
Il est deja pas "normal" de lancer une tache en & puis de fermer la session ...... puisque ceci force apparement de manière anormal un changement de process père.
Normalement ce type de manip ce fait avec la commande : nohup avant de fermer une session. . un process defunct (puis zombie) est un process terminé mais dont le père na pas lut le code retour . essaye avec la commande nohup si le sympthome est le même. |
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Inscription : mars 2002 Messages : 61 ![]() |
J'y ai cru mais non. avec nohup, ça ne marche pas mieux.
En fait, il s'agit d'un shell script qui lance en & des démons pour communiquer avec les ports d'un serveur de terminaux. Ce shell peut être lancé plusieurs fois par l'utilisateur. Au démarrage il regarde si des demons sont actif (ps -ef...), les tue (kill), les relance puis se termine. Ce mécanisme fonctionne très bien sur une station "hp 9000/745". Pas de <défuncts> lors du kill. Par contre le même programme, sous la même version hp-ux 10.20A tournant sur une nouvelle station "hp Visualize" provoque la génération de <défunct> à chaque kill. N'y a t-il aucun moyen d'exécuter un shell ''ponctuel'' qui lance des programmes en arrière plan et pouvoir tuer ces derniers ensuite sans créer de <defunct> ? |
|
|
00
|
|
|
#10 |
|
Futur Membre du Club
![]() Inscription : mars 2002 Messages : 61 ![]() |
Poursuivant mes investigations j'ai remarqué ceci :
la commande ajoute un défunct à la table des processus. Un avis sur la question ?? |
|
|
00
|
|
|
#11 | |||
|
Membre éprouvé
![]() Consultant telecoms Inscription : mars 2006 Messages : 426 ![]() |
Citation:
Citation:
Citation:
__________________
"When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science, whatever the matter may be." Lord Kelvin - 1883. |
|||
|
00
|
|
|
#12 |
|
Futur Membre du Club
![]() Inscription : mars 2002 Messages : 61 ![]() |
Problème réglé à propri.
Il semblerait que la cause était la ligne : "ems4:3456:respawn:/etc/opt/resmon/lbin/p_client" dans le fichier /etc/inittab. En effet, ce programme n'esiste pas car non installé et je n'avais pas vu l'erreur "respawn too rapidly" au démarrage à cause du passage automatique sous HP-VUE. Depuis la mise en commentaire de cette ligne, plus de <defunct>. |
|
|
00
|
|
|
#13 |
|
Membre éprouvé
![]() Consultant telecoms Inscription : mars 2006 Messages : 426 ![]() |
Voila une connaissance en plus, merciii
__________________
"When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science, whatever the matter may be." Lord Kelvin - 1883. |
|
00
|
|
|
#14 |
|
Membre Expert
![]() Bidouille-tout Android Inscription : juillet 2006 Messages : 871 ![]() |
Tant qu'on y est je viens de rencontrer des zombies moi aussi
, j'ai cherché mais trouvé la réponse entre temps donc je la met aussi :pour voir la dépendance des processus, si trop long, et il suffit de killer la racine (kill -9 xxx ) sauf si c'est le process 0 bien sur
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre Ubuntu 10.04 Lucid Lynx @home LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
|
|
|
00
|
|
|
#15 |
|
Membre confirmé
![]() Inscription : août 2008 Messages : 241 ![]() |
Je tombe sur cette discussion et je m'étonne : il y a une solution tout ce qu'il y a de simple :
lancer la commande où n est le numéro du job en arrière-plan à tuer, numéro qu'on obtient par la commande : EDIT : Lu trop vite ! Le problème posé dans le premier message était (beaucoup) plus compliqué. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com