%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.248 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/fsdump/ |
Upload File : |
#!/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; }