shandor has asked for the wisdom of the Perl Monks concerning the following question:
system ("program_name > $out_file & "); sleep 5; setpgrp(0,0); local $SIG{HUP} = 'IGNORE'; kill (HUP, -$$);
I am calling the program and outputting it to a file, then sleeping so I can guarantee that the output is getting there (network lag and all). Then, I am setting my script to be the head of the process group with program_name being one of its children. Finally, I am killing all of my scripts children. (The last 3 lines are straight from the Programming Perl book).
This scripts works great from the command line. But, when I have cron run it, the script locks up and is unable to kill the program_name. I think it is the setpgrp(0,0) line that is causing the problem when the script is run as a child of something else, but I don't know how to get around it.
Any suggestions would be well appreciated.
Thanks,
Shandor
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
(tye)Re: killing interactive child processes
by tye (Sage) on Feb 26, 2001 at 21:49 UTC | |
|
Re: killing interactive child processes
by Anonymous Monk on Feb 27, 2001 at 00:27 UTC | |
by merlyn (Sage) on Feb 27, 2001 at 00:46 UTC |