mirror of
https://github.com/webmin/webmin.git
synced 2025-07-21 23:40:34 +00:00
33 lines
744 B
Perl
Executable File
33 lines
744 B
Perl
Executable File
#!/usr/local/bin/perl
|
|
# kill_proc.cgi
|
|
# Send a signal to a process
|
|
|
|
require './proc-lib.pl';
|
|
&ReadParse();
|
|
&switch_acl_uid();
|
|
&error_setup(&text('kill_err', $in{signal}, $in{pid}));
|
|
foreach $s ('KILL', 'TERM', 'HUP', 'STOP', 'CONT') {
|
|
$in{'signal'} = $s if ($in{$s});
|
|
}
|
|
|
|
%pinfo = &process_info($in{pid});
|
|
&can_edit_process($pinfo{'user'}) || &error($text{'kill_ecannot'});
|
|
if (&kill_logged($in{signal}, $in{pid})) {
|
|
$in{'args0'} = $pinfo{'args'};
|
|
&webmin_log("kill", undef, undef, \%in);
|
|
sleep(1);
|
|
if (&process_info($in{pid})) {
|
|
# still around.. return to process info
|
|
&redirect("edit_proc.cgi?$in{pid}");
|
|
}
|
|
else {
|
|
# gone case .. return to list
|
|
&redirect("index.cgi");
|
|
}
|
|
}
|
|
else {
|
|
# failed to send signal
|
|
&error("$!");
|
|
}
|
|
|