Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Boisson
Le Mon, 23 May 2005 17:00:45 +0200 Frederic Beck a écrit:
Salut a tous
J'ai une appli qui tourne et qui créé des fils avec la fonction fork.
A la fin de ces fils, je fais un exit pour tuer ces processus. Le probleme, c'est que les processus ne se tuent pas :-/
Ils sont toujours present avec le flag Z (si je fais ps axf)
Quand j'essaie de les tuer, pas moyen, quel que soit le signal utilisé ils sont toujours presents, jusqu'a ce que le pere soit stoppé...
Qq'un a une idée de comment faire pour que ces processus disparaissent ?
Ils sont zombis, ils sont morts mais présents dans la table des processus car le code de retour n'a pas été lu par le processus père. Il faut faire un «ramasse miettes» i.e un processus qui lit les codes retours des processus zombis ou revoir le programme à l'origine de ces processus.
François Boisson
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Le Mon, 23 May 2005 17:00:45 +0200
Frederic Beck <frederic.beck@loria.fr> a écrit:
Salut a tous
J'ai une appli qui tourne et qui créé des fils avec la fonction fork.
A la fin de ces fils, je fais un exit pour tuer ces processus. Le
probleme, c'est que les processus ne se tuent pas :-/
Ils sont toujours present avec le flag Z (si je fais ps axf)
Quand j'essaie de les tuer, pas moyen, quel que soit le signal utilisé
ils sont toujours presents, jusqu'a ce que le pere soit stoppé...
Qq'un a une idée de comment faire pour que ces processus disparaissent
?
Ils sont zombis, ils sont morts mais présents dans la table des
processus car le code de retour n'a pas été lu par le processus père. Il
faut faire un «ramasse miettes» i.e un processus qui lit les codes
retours des processus zombis ou revoir le programme à l'origine de ces
processus.
François Boisson
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Le Mon, 23 May 2005 17:00:45 +0200 Frederic Beck a écrit:
Salut a tous
J'ai une appli qui tourne et qui créé des fils avec la fonction fork.
A la fin de ces fils, je fais un exit pour tuer ces processus. Le probleme, c'est que les processus ne se tuent pas :-/
Ils sont toujours present avec le flag Z (si je fais ps axf)
Quand j'essaie de les tuer, pas moyen, quel que soit le signal utilisé ils sont toujours presents, jusqu'a ce que le pere soit stoppé...
Qq'un a une idée de comment faire pour que ces processus disparaissent ?
Ils sont zombis, ils sont morts mais présents dans la table des processus car le code de retour n'a pas été lu par le processus père. Il faut faire un «ramasse miettes» i.e un processus qui lit les codes retours des processus zombis ou revoir le programme à l'origine de ces processus.
François Boisson
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
fra-duf-no-spam
Le 12926ième jour après Epoch, Frederic Beck écrivait:
Salut a tous
J'ai une appli qui tourne et qui créé des fils avec la fonction fork.
Je vais supposer pour la suite que c'est du C que tu fais.
A la fin de ces fils, je fais un exit pour tuer ces processus. Le probleme, c'est que les processus ne se tuent pas :-/
Normal. man 2 exit
Ils sont toujours present avec le flag Z (si je fais ps axf)
Normal encore. Ils sont zombie, car leur père n'a pas réclamé de certificat de décès.
Quand j'essaie de les tuer, pas moyen, quel que soit le signal utilisé ils sont toujours presents, jusqu'a ce que le pere soit stoppé...
Ils ne sont plus vraiment là, donc intuables. Seule l'entrée dans la table des process reste présente. Mais je comprends pas comment le père peut être stoppé alors que tu fais un exit.
Qq'un a une idée de comment faire pour que ces processus disparaissent ?
Oui.
man 2 fork man 2 wait man 2 signal man 2 kill
Et le mieux, pour ce genre de question, ce sont les listes ou les newsgroups spécialisés programmation, non?
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Le 12926ième jour après Epoch,
Frederic Beck écrivait:
Salut a tous
J'ai une appli qui tourne et qui créé des fils avec la fonction
fork.
Je vais supposer pour la suite que c'est du C que tu fais.
A la fin de ces fils, je fais un exit pour tuer ces processus. Le
probleme, c'est que les processus ne se tuent pas :-/
Normal. man 2 exit
Ils sont toujours present avec le flag Z (si je fais ps axf)
Normal encore. Ils sont zombie, car leur père n'a pas réclamé de
certificat de décès.
Quand j'essaie de les tuer, pas moyen, quel que soit le signal utilisé
ils sont toujours presents, jusqu'a ce que le pere soit stoppé...
Ils ne sont plus vraiment là, donc intuables. Seule l'entrée dans la
table des process reste présente. Mais je comprends pas comment le
père peut être stoppé alors que tu fais un exit.
Qq'un a une idée de comment faire pour que ces processus
disparaissent ?
Oui.
man 2 fork
man 2 wait
man 2 signal
man 2 kill
Et le mieux, pour ce genre de question, ce sont les listes ou les
newsgroups spécialisés programmation, non?
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Le 12926ième jour après Epoch, Frederic Beck écrivait:
Salut a tous
J'ai une appli qui tourne et qui créé des fils avec la fonction fork.
Je vais supposer pour la suite que c'est du C que tu fais.
A la fin de ces fils, je fais un exit pour tuer ces processus. Le probleme, c'est que les processus ne se tuent pas :-/
Normal. man 2 exit
Ils sont toujours present avec le flag Z (si je fais ps axf)
Normal encore. Ils sont zombie, car leur père n'a pas réclamé de certificat de décès.
Quand j'essaie de les tuer, pas moyen, quel que soit le signal utilisé ils sont toujours presents, jusqu'a ce que le pere soit stoppé...
Ils ne sont plus vraiment là, donc intuables. Seule l'entrée dans la table des process reste présente. Mais je comprends pas comment le père peut être stoppé alors que tu fais un exit.
Qq'un a une idée de comment faire pour que ces processus disparaissent ?
Oui.
man 2 fork man 2 wait man 2 signal man 2 kill
Et le mieux, pour ce genre de question, ce sont les listes ou les newsgroups spécialisés programmation, non?
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
David Dumortier
Le Mon May 23 2005 à 05:31:08PM +0200, François Boisson dit :
Le Mon, 23 May 2005 17:00:45 +0200 Frederic Beck a écrit:
[...]
Ils sont zombis, ils sont morts mais présents dans la table des processus car le code de retour n'a pas été lu par le processus père. Il faut faire un «ramasse miettes» i.e un processus qui lit les codes retours des processus zombis ou revoir le programme à l'origine de ces processus.
Rien à ajouter ... si ce n'est qu'il y a eu un fil sur cette même liste là dessus sur cette même liste entre 18 et 6 mois pour les récupérer. Mais j'ai comme un doute sur la possibilité de faire ça. Sinon init est le processus parent de tout le monde et est sensé récupérer tout ça (c'est un peu le Créateur :-) à intervalle régulier.
Je ne peux que t'encourager, comme tout le monde, à voir man 2 wait et appeler la fonction correspondante dans ton langage. <troll honteux>Ou à changer de langage, si il s'agit d'un langage à ramasse-miettte</troll vraiment honteux>
François Boisson
Voili. -- David Dumortier
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Le Mon May 23 2005 à 05:31:08PM +0200, François Boisson dit :
Le Mon, 23 May 2005 17:00:45 +0200
Frederic Beck <frederic.beck@loria.fr> a écrit:
[...]
Ils sont zombis, ils sont morts mais présents dans la table des
processus car le code de retour n'a pas été lu par le processus père. Il
faut faire un «ramasse miettes» i.e un processus qui lit les codes
retours des processus zombis ou revoir le programme à l'origine de ces
processus.
Rien à ajouter ... si ce n'est qu'il y a eu un fil sur cette même liste là
dessus sur cette même liste entre 18 et 6 mois pour les récupérer. Mais
j'ai comme un doute sur la possibilité de faire ça. Sinon init est le
processus parent de tout le monde et est sensé récupérer tout ça (c'est un
peu le Créateur :-) à intervalle régulier.
Je ne peux que t'encourager, comme tout le monde, à voir man 2 wait et
appeler la fonction correspondante dans ton langage.
<troll honteux>Ou à changer de langage, si il s'agit d'un langage à
ramasse-miettte</troll vraiment honteux>
François Boisson
Voili.
--
David Dumortier
david.dumortier@dudu.dynalias.net
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Le Mon May 23 2005 à 05:31:08PM +0200, François Boisson dit :
Le Mon, 23 May 2005 17:00:45 +0200 Frederic Beck a écrit:
[...]
Ils sont zombis, ils sont morts mais présents dans la table des processus car le code de retour n'a pas été lu par le processus père. Il faut faire un «ramasse miettes» i.e un processus qui lit les codes retours des processus zombis ou revoir le programme à l'origine de ces processus.
Rien à ajouter ... si ce n'est qu'il y a eu un fil sur cette même liste là dessus sur cette même liste entre 18 et 6 mois pour les récupérer. Mais j'ai comme un doute sur la possibilité de faire ça. Sinon init est le processus parent de tout le monde et est sensé récupérer tout ça (c'est un peu le Créateur :-) à intervalle régulier.
Je ne peux que t'encourager, comme tout le monde, à voir man 2 wait et appeler la fonction correspondante dans ton langage. <troll honteux>Ou à changer de langage, si il s'agit d'un langage à ramasse-miettte</troll vraiment honteux>
François Boisson
Voili. -- David Dumortier
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Frederic Beck
Hello
Merci pour ces precisions, je ne comprennais pas a quoi correspondait le status 'Z', maintenant c bcp plus clair.
Du coup, lorsque le fils est fini j'envoie un signal au pere qui fait un wait et donc plus de processus zombi :)
Merci pour vos reponses ! Fred
On Mon, 23 May 2005 17:58:32 +0200 Jean-Damien Durand wrote:
Soit dans le pere tu fais (pas recommende):
signal(SIGCHLD,SIG_IGN);
ou tu catche le signal SIGCHLD et tu boucles sur waitpid - n'oublie de regarder la man page de waitpid()...
JD.
On Monday 23 May 2005 17:00, Frederic Beck wrote: FB > si je fais ps axf
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Yannick Beynet
Pas besoin d'envoyer un signal, justement quand tu fais le exit dans le fils, le kernel envoie le signal SIGCHLD au père.
Le 24/05/05, Frederic Beck a écrit :
Hello
Merci pour ces precisions, je ne comprennais pas a quoi correspondait le status 'Z', maintenant c bcp plus clair.
Du coup, lorsque le fils est fini j'envoie un signal au pere qui fait un wait et donc plus de processus zombi :)
Merci pour vos reponses ! Fred
On Mon, 23 May 2005 17:58:32 +0200 Jean-Damien Durand wrote:
> Soit dans le pere tu fais (pas recommende): > > signal(SIGCHLD,SIG_IGN); > > ou tu catche le signal SIGCHLD et tu boucles sur waitpid - n'oublie de > regarder la man page de waitpid()... > > JD. > > On Monday 23 May 2005 17:00, Frederic Beck wrote: > FB > si je fais ps axf > > -- > Jean-Damien Durand CERN/IT/FIO/DS - Geneva, Switzerland > PGP: http://home.cern.ch/~jdurand/public_key.asc > CERN CA: http://cern.ch/service-grid-ca/crt/root_crt.html > WWW: http://home.cern.ch/~jdurand
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact .org
Pas besoin d'envoyer un signal, justement quand tu fais le exit dans
le fils, le kernel envoie le signal SIGCHLD au père.
Le 24/05/05, Frederic Beck<frederic.beck@loria.fr> a écrit :
Hello
Merci pour ces precisions, je ne comprennais pas a quoi correspondait le
status 'Z', maintenant c bcp plus clair.
Du coup, lorsque le fils est fini j'envoie un signal au pere qui fait un
wait et donc plus de processus zombi :)
Merci pour vos reponses !
Fred
On Mon, 23 May 2005 17:58:32 +0200
Jean-Damien Durand <Jean-Damien.Durand@cern.ch> wrote:
> Soit dans le pere tu fais (pas recommende):
>
> signal(SIGCHLD,SIG_IGN);
>
> ou tu catche le signal SIGCHLD et tu boucles sur waitpid - n'oublie de
> regarder la man page de waitpid()...
>
> JD.
>
> On Monday 23 May 2005 17:00, Frederic Beck wrote:
> FB > si je fais ps axf
>
> --
> Jean-Damien Durand CERN/IT/FIO/DS - Geneva, Switzerland
> PGP: http://home.cern.ch/~jdurand/public_key.asc
> CERN CA: http://cern.ch/service-grid-ca/crt/root_crt.html
> WWW: http://home.cern.ch/~jdurand
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian .org
Pas besoin d'envoyer un signal, justement quand tu fais le exit dans le fils, le kernel envoie le signal SIGCHLD au père.
Le 24/05/05, Frederic Beck a écrit :
Hello
Merci pour ces precisions, je ne comprennais pas a quoi correspondait le status 'Z', maintenant c bcp plus clair.
Du coup, lorsque le fils est fini j'envoie un signal au pere qui fait un wait et donc plus de processus zombi :)
Merci pour vos reponses ! Fred
On Mon, 23 May 2005 17:58:32 +0200 Jean-Damien Durand wrote:
> Soit dans le pere tu fais (pas recommende): > > signal(SIGCHLD,SIG_IGN); > > ou tu catche le signal SIGCHLD et tu boucles sur waitpid - n'oublie de > regarder la man page de waitpid()... > > JD. > > On Monday 23 May 2005 17:00, Frederic Beck wrote: > FB > si je fais ps axf > > -- > Jean-Damien Durand CERN/IT/FIO/DS - Geneva, Switzerland > PGP: http://home.cern.ch/~jdurand/public_key.asc > CERN CA: http://cern.ch/service-grid-ca/crt/root_crt.html > WWW: http://home.cern.ch/~jdurand
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact .org