3 # Terminate a running backup job
5 require './fsdump-lib.pl';
7 &error_setup($text{'kill_err'});
9 &foreign_require("proc", "proc-lib.pl");
10 @procs = &proc::list_processes();
11 @running = &running_dumps(\@procs);
14 ($job) = grep { $_->{'id'} eq $in{'id'} &&
15 $_->{'pid'} == $in{'pid'} } @running;
16 $job || &error($text{'kill_egone'});
17 &can_edit_dir($job) || &error($text{'kill_ecannot'});
19 # Find all sub-processes
20 @killprocs = ( $job->{'pid'}, &find_subprocesses($job->{'pid'}) );
21 &kill_logged('TERM', @killprocs);
23 &kill_logged('KILL', @killprocs);
24 &webmin_log("kill", undef, $job->{'id'}, $job);
31 foreach my $p (@procs) {
32 if ($p->{'ppid'} && $p->{'ppid'} eq $pid) {
33 push(@rv, $p->{'pid'}, &find_subprocesses($p->{'pid'}));