Ok, I learned something else ... When I type:
kill -9 <SOME_PROCESS_ID> on the command line, It's not actually killing the process. Let me explain. My script starts 3 others and then stays around watching them. So, when I run it, I get this: # ps -ef | grep dummy user1 18000 1 0 10:04:22 ? 0:00 dummy_monitor user1 18001 18000 0 10:04:22 ? 0:00 dummy1 user1 18002 18000 0 10:04:22 ? 0:00 dummy2 user1 18003 18000 0 10:04:22 ? 0:00 dummy3 (the names have been changed to protect the innocent!) Now ... After I run a kill: # kill -9 18002 # ps -ef | grep dummy user1 18000 1 0 10:04:22 ? 0:00 dummy_monitor user1 18001 18000 0 10:04:22 ? 0:00 dummy1 user1 18003 18000 0 10:04:22 ? 0:00 dummy3 However, I just discovered that if I check the PID instead: # ps -ef | grep 18002 user1 180002 18000 0 0:00 <defunct> See that "<defunct>"?! How did my process get a <defunct> status? Is that a Solaris-fancy way of saying "zombie-child"? The above explains why my (kill 0 => $pid) isn't working the way I expect, but How can I kill the kid. The <defunct> child process finally dies if I kill the parent (original dummy_monitor) script. Does this mean that my setsid line in my original script is not working correctly? I'm confused here. --Errin -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>