Thread prozess beenden und frage zu fork: prozess <defunct> obwohl beendet (9 answers)
Opened by kmonster at 2003-10-30 03:12

Strat
 2003-10-30 12:04
#68137 #68137
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
du erzeugst jede menge zombies (=~ prozesse, deren vaterprozess tot ist, und die darauf warten, eine beenden-bestaetigung von ihm zu erhalten, die nie kommt, und deshalb die prozesstabelle zumuellen)
Versuche mal, die childprozesse zu entsorgen, indem du im Vaterprozess vor dem fork sowas schreibst wie:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use POSIX qw(:signal_h :errno_h :sys_wait_h);
$SIG{CHLD} = \&Reaper; # diese zeile muss vor dem fork kommen

sub Reaper {
my $pid;
$pid = waidpid(-1, &WNOHANG);
if ($pid == -1) {
# no child waiting => ignore it
}
elsif (WIFEXITED($?)) {
print "Process $pid exited\n";
}
else {
print "False alarm on $pid\n";
}
%SIG{CHLD} = \&Reaper;
} # Reaper
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread prozess beenden und frage zu fork: prozess <defunct> obwohl beendet