#!/usr/local/bin/perl
# index_cpu.cgi
require './proc-lib.pl';
&ui_print_header(undef, $text{'index_title'}, "", "cpu", !$no_module_config, 1);
# Show CPU load and type
&index_links("cpu");
if (defined(&get_cpu_info)) {
print "
\n";
@c = &get_cpu_info();
if (@c) {
print " $text{'index_loadname'} | \n";
print "",&text('index_loadnums',
"$c[0]", "$c[1]", "$c[2]"),
" |
\n";
if (@c >= 5) {
print " $text{'index_cpuname'} | \n";
print "$c[4]\n";
if ($c[4] !~ /Hz/) {
print "($c[3] MHz)\n";
}
if ($c[7]) {
print ", $c[7] cores\n";
}
print " |
\n";
}
}
print "
\n";
}
print &ui_columns_start([ $text{'pid'}, $text{'owner'},
$text{'cpu'}, $text{'command'} ], 100);
@procs = sort { $b->{'cpu'} <=> $a->{'cpu'} } &list_processes();
@procs = grep { &can_view_process($_) } @procs;
foreach $pr (@procs) {
$p = $pr->{'pid'};
local @cols;
if (&can_edit_process($pr->{'user'})) {
push(@cols, &ui_link("edit_proc.cgi?".$p, $p) );
}
else {
push(@cols, $p);
}
push(@cols, $pr->{'user'});
push(@cols, $pr->{'cpu'});
push(@cols, &html_escape(cut_string($pr->{'args'})));
print &ui_columns_row(\@cols);
}
print &ui_columns_end();
&ui_print_footer("/", $text{'index'});