issue with multiprocess - fork

F

friend.05

My script is using fork so there are child processes. Sometimes my
script runs properly and output is correct. But sometime my script
gets stuck just after exiting child process.

Below is psudo code. (not sure if this helps, it is juist snap shot)

foreach my $w (keys %worklist) {
my $child;
unless ($child = fork()) {
die("connot for: $!") unless defined $child;

foreach my $file (@{$worklist{$w}}) {
#reading files processing of data and
creating hash tables.
}

#ouput files from hash tables. outfile files will be
for each child.

print "Worker $w $$ exiting\n";
#child
exiting
(#it gets stuck after printing this statement)

exit;
}
push(@workers, $child); #array of child PID

}

#wating for each child to finish.
foreach my $pid (@workers) {
$s = waitpid($pid, 0);
print "$s finished\n";

}


The freeze happens sometimes.

And I check the trace(truss -p on sun). I found that sometimes one of
the child goes to sleeping and parent is still waiting for that child
exit status. But it never gets that bcoz child is sleeping.

And suggestion what can be problem or else how can I debug more.

Thanks
 
X

Xho Jingleheimerschmidt

My script is using fork so there are child processes. Sometimes my
script runs properly and output is correct. But sometime my script
gets stuck just after exiting child process.

Asking the same question under a different subject line is more likely
to annoy the people you want to help you, than it is to get you more help.

Threads exist for a reason.

Xho
 
F

friend.05

Indeed, as I had killfiled this OP in April when he crossposted
the first time.

   http://groups.google.com/groups/search?as_umsgid=74405uF119t50U2@mi...

I thought at the time that it was perhaps a bit harsh to banish
him to perpetual invisibility, but I did it anyway.

Seeing that he still does it after being warned about it makes
me feel better about my original decision.

sorry about that. I thought it 3days so people might not see the
thread and I am stuck at that problem. so I posted new thread.

will be careful next time
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,969
Messages
2,570,161
Members
46,708
Latest member
SherleneF1

Latest Threads

Top