IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Tuer un process lancé en & depuis un shell


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 61
    Par défaut Tuer un process lancé en & depuis un shell
    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...

  2. #2
    Membre expérimenté
    Inscrit en
    Octobre 2005
    Messages
    344
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 344
    Par défaut
    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 ?

  3. #3
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    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.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 61
    Par défaut
    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...

  5. #5
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    J'ai trouvé une explication:
    Citation Envoyé par Defining Defunct Process in UNIX
    Defining Defunct Process in UNIX
    When a process has forked a child and the child ends, its exit value is stored in the process table and the process table entry is labeled as "defunct" (also called zombie). The parent process has to call wait() to fetch the exit value. When it does, the defunct process disappears from the process table.

    A defunct process is not a real process, just an entry in the process table. They are needed for parent processes to be able to get the exit status from their childs.

    A defunct process takes no resources other than an entry in the process table. This might in time lead to a full process table. When that happens, other processes trying to fork will get error messages.
    Apparemment pas d'autre référence sur DVP.com, excepté dans ce post :http://www.developpez.net/forums/showthread.php?t=81178&highlight=defunct

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 61
    Par défaut
    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.

  7. #7
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/11/2014, 11h57
  2. Transmettre des commandes à un process lancé par ksh
    Par jojolepabo dans le forum Linux
    Réponses: 3
    Dernier message: 19/10/2005, 16h05
  3. tuer un process
    Par alaparra dans le forum Windows
    Réponses: 3
    Dernier message: 31/05/2005, 20h20
  4. [BATCH] Comment tuer un process ?
    Par tonf dans le forum Windows
    Réponses: 8
    Dernier message: 08/03/2005, 15h48
  5. [Kill]tuer un process
    Par parisjohn dans le forum C
    Réponses: 9
    Dernier message: 27/08/2004, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo