Handle hostnames with upper-case letters
[webmin.git] / proc / kill_proc.cgi
1 #!/usr/local/bin/perl
2 # kill_proc.cgi
3 # Send a signal to a process
4
5 require './proc-lib.pl';
6 &ReadParse();
7 &switch_acl_uid();
8 &error_setup(&text('kill_err', $in{signal}, $in{pid}));
9 foreach $s ('KILL', 'TERM', 'HUP', 'STOP', 'CONT') {
10         $in{'signal'} = $s if ($in{$s});
11         }
12
13 %pinfo = &process_info($in{pid});
14 &can_edit_process($pinfo{'user'}) || &error($text{'kill_ecannot'});
15 if (&kill_logged($in{signal}, $in{pid})) {
16         $in{'args0'} = $pinfo{'args'};
17         &webmin_log("kill", undef, undef, \%in);
18         sleep(1);
19         if (&process_info($in{pid})) {
20                 # still around.. return to process info
21                 &redirect("edit_proc.cgi?$in{pid}");
22                 }
23         else {
24                 # gone case .. return to list
25                 &redirect("index.cgi");
26                 }
27         }
28 else {
29         # failed to send signal
30         &error("$!");
31         }
32