Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Killing child process

by robartes (Priest)
on Oct 12, 2003 at 10:51 UTC ( [id://298626]=note: print w/replies, xml ) Need Help??


in reply to Killing child process

Normally, unless the child processes detach from the parent's process group, signals will propagate to the children, so when you kill the parent, the children should go down as well. However, if you want to do this explicitely, you can use Proc::ProcessTable. Something like this (untested):
use strict; use warnings; use Proc::ProcessTable; my $signal=15; my $parent=shift; # Parent PID from args my $proc_table=Proc::ProcessTable->new(); foreach my $proc (@{$proc_table->table()}) { kill($signal, $proc->pid) if ($proc->ppid == $parent); }
Making this code recursive to kill the children's children is left as an exercise for the reader :) (read: it's Sunday morning and I can't be bothered to do so myself ;) ).

CU
Robartes-

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://298626]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (7)
As of 2024-03-19 02:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found