#!/usr/local/bin/perl # kill_proc_list.cgi # Send a signal to a list of process require './proc-lib.pl'; &ReadParse(); &switch_acl_uid(); foreach $s ('KILL', 'TERM', 'HUP', 'STOP', 'CONT') { $in{'signal'} = $s if ($in{$s}); } &ui_print_unbuffered_header(undef, $text{'kill_title'}, ""); @pidlist = split(/\s+/, $in{pidlist}); @pinfo = &list_processes(@pidlist); for($i=0; $i<@pidlist; $i++) { $in{"args$i"} = $pinfo[$i]->{'args'}; print "$text{'pid'} $pidlist[$i] ... \n"; if (&can_edit_process($pinfo[$i]->{'user'})) { if (&kill_logged($in{signal}, $pidlist[$i])) { print "SIG$in{signal} $text{'kill_sent'}
\n"; } else { print "$!
\n"; } } else { print "$text{'kill_ecannot'}
\n"; } } &webmin_log("kill", undef, undef, \%in); print "

\n"; &ui_print_footer("index_search.cgi?$in{'args'}", $text{'search_return'});