Bonjour !
Je suis en train de faire un programme en perl et j'ai un petit souci:
je me retrouve avec des process dans l'état <defunct>. Ceux-la résistent
meme au kill -9 !! . A quoi correspond cet état ?
A chaque fois que je fais un appel à initialize() suivi d'un appel à
closesrc, je me retrouve avec un <defunct> en plus:
Lorsque je quitte le programme, tout disparait.
Une idée ? Un conseil ?
Merci.
[vthinsel@snoopy ~]# ps -ef | grep rx
vthinsel 5159 5157 0 19:33 pts/1 00:00:00 [rxaudio <defunct>]
vthinsel 5163 5157 0 19:33 pts/1 00:00:00 [rxaudio <defunct>]
vthinsel 5167 5157 0 19:33 pts/1 00:00:00 [rxaudio <defunct>]
vthinsel 5171 5157 0 19:33 pts/1 00:00:00 [rxaudio <defunct>]
vthinsel 5175 5157 0 19:33 pts/1 00:00:00 /usr/local/bin/rxaudio
vthinsel 5176 5175 0 19:33 pts/1 00:00:00 /usr/local/bin/rxaudio
[vthinsel@snoopy ~]#
Et voila les initialize et closesrc:
sub initialize {
clearlist();
scanfile();
$rdr=gensym();
$wtr=gensym();
open2($rdr, $wtr, "/usr/local/bin/rxaudio");
$rin='';
vec($rin, fileno($rdr), 1) = 1;
binmode $rdr; select($rdr);
binmode $wtr; select($wtr);
}
sub closesrc {
print $wtr "exit\n";
close $wtr;
close $rdr;
system("killall rxaudio");
}