#!/usr/local/bin/perl # edit_proc.cgi # Display information about a process require './proc-lib.pl'; &ui_print_header(undef, $text{'edit_title'}, "", "edit_proc"); %pinfo = &process_info($ARGV[0]); &can_edit_process($pinfo{'user'}) || &error($text{'edit_ecannot'}); if (!%pinfo) { print "$text{'edit_gone'}

\n"; &ui_print_footer("", $text{'index_return'}); exit; } print "\n"; print "\n"; print "
$text{'edit_title'}
\n"; print "\n"; print " \n"; print "\n"; print "\n"; if ($pinfo{ppid}) { local %ppinfo = &process_info($pinfo{ppid}); print ""; } else { print ""; } print " \n"; print " ", "\n"; print " ", "\n"; print " ", "\n"; print " ", "\n"; print "\n"; print "\n"; print "\n"; print "\n"; $i = 0; foreach $k (keys %pinfo) { if ($k =~ /^_/) { if ($i%2 == 0) { print "\n"; } printf "\n", $info_arg_map{$k}; print "\n"; if ($i%2 == 1) { print "\n"; } $i++; } } print "
$text{'command'}", &html_escape($pinfo{args}),"
$text{'pid'}$pinfo{pid}$text{'parent'}", &cut_string($ppinfo{'args'}, 30),"$text{'edit_none'}
$text{'owner'}$pinfo{'user'}$text{'cpu'}$pinfo{'cpu'}
$text{'size'}$pinfo{'size'}$text{'runtime'}$pinfo{'time'}
",&hlink("$text{'nice'}","nice"),"
\n"; if (&indexof($pinfo{nice}, @nice_range) < 0) { print $pinfo{nice}; } else { print &nice_selector("nice", $pinfo{nice}); print &ui_submit($text{'edit_change'}); } print "
%s$pinfo{$k}

\n"; print "\n"; if ($access{'simple'}) { # Just display buttons for common signals print "\n"; print "\n"; } else { # Allow the sending of any signal print "\n"; print "\n"; } if ($has_trace_command) { # Show button to trace syscalls print "\n"; print "\n"; print "\n"; } if ($has_lsof_command) { # Show button to display currently open files print "\n"; print "\n"; print "\n"; } print "
\n"; foreach $s ('KILL', 'TERM', 'HUP', 'STOP', 'CONT') { printf "\n", $text{"kill_".lc($s)}, $s; } print "
\n"; print "\n"; print ""; print " " x 4; print "\n"; print "\n"; print " " x 4; print "\n"; print "\n"; print "
\n"; print "
\n"; print "

\n"; @sub = grep { $_->{'ppid'} == $pinfo{pid} } &list_processes(); if (@sub) { print "\n"; print "\n"; print "
$text{'edit_sub'}
\n"; @sub = sort { $a->{'pid'} <=> $b->{'pid'} } @sub; foreach $s (@sub) { local $p = $s->{'pid'}; print "\n"; print "\n"; } print "
$p",&cut_string($s->{args}, 80),"

\n"; } &ui_print_footer("", $text{'index_return'});