php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /usr/libexec/webmin/fsdump/ |
files >> //usr/libexec/webmin/fsdump/kill.cgi |
#!/usr/bin/perl # kill.cgi # Terminate a running backup job require './fsdump-lib.pl'; &ReadParse(); &error_setup($text{'kill_err'}); &foreign_require("proc", "proc-lib.pl"); @procs = &proc::list_processes(); @running = &running_dumps(\@procs); # Find the job ($job) = grep { $_->{'id'} eq $in{'id'} && $_->{'pid'} == $in{'pid'} } @running; $job || &error($text{'kill_egone'}); &can_edit_dir($job) || &error($text{'kill_ecannot'}); # Find all sub-processes @killprocs = ( $job->{'pid'}, &find_subprocesses($job->{'pid'}) ); &kill_logged('TERM', @killprocs); sleep(1); &kill_logged('KILL', @killprocs); &webmin_log("kill", undef, $job->{'id'}, $job); &redirect(""); sub find_subprocesses { local ($pid) = @_; local @rv; foreach my $p (@procs) { if ($p->{'ppid'} && $p->{'ppid'} eq $pid) { push(@rv, $p->{'pid'}, &find_subprocesses($p->{'pid'})); } } return @rv; }y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`