Handle hostnames with upper-case letters
[webmin.git] / cron / kill_cron.cgi
1 #!/usr/local/bin/perl
2 # Terminate a running cron job
3
4 require './cron-lib.pl';
5 &ReadParse();
6 &error_setup($text{'kill_err'});
7
8 @jobs = &list_cron_jobs();
9 $job = $jobs[$in{'idx'}];
10 &can_edit_user(\%access, $job->{'user'}) || &error($text{'kill_ecannot'});
11 $proc = &find_cron_process($job);
12 $proc || &error($text{'kill_egone'});
13
14 if (!$in{'confirm'}) {
15         # Ask first
16         &ui_print_header(undef, $text{'kill_title'}, "");
17         print &ui_form_start("kill_cron.cgi");
18         print &ui_hidden("idx", $in{'idx'}),"\n";
19         print "<center>",&text($config{'kill_subs'} ? 'kill_rusure2'
20                                                     : 'kill_rusure',
21                        "<tt>$proc->{'args'}</tt>", $proc->{'pid'}),"<p>\n";
22         print &ui_submit($text{'kill_ok'}, "confirm");
23         print "</center>\n";
24         &ui_print_footer("", $text{'index_return'});
25         }
26 else {
27         # Do it!
28         @tokill = ( $proc->{'pid'} );
29         if ($config{'kill_subs'}) {
30                 push(@tokill, map { $_->{'pid'} }
31                               &proc::find_subprocesses($proc));
32                 }
33         &kill_logged('TERM', @tokill) || &error(&text('kill_ekill', $!));
34         &webmin_log("kill", "cron", $job->{'user'}, $job);
35         &redirect("");
36         }
37