#!/usr/bin/perl
use CGI;
use lib qw(../cgi-lib);
use POSIX qw(strftime);
use siteconfig;
use parseFile;
use libUtil;
use strict;
my $PROC_MAIN_PAGE = $siteconfig::PROC_MAIN_PAGE; #"../cgi-data/procStatus.html"
my $ERROR_PAGE = $siteconfig::ERROR_PAGE; # "../cgi-data/error.html";
my $ERROR_LOG = $siteconfig::PROC_ERROR_LOG; #"procerr.log";
my $PROC_STATUS_SCRIPT = $siteconfig::PROC_STATUS_SCRIPT; #"/hci/root3.7.1P/bin/hciprocstatus";
my $CONN_STATUS_CGI = $siteconfig::CONN_STATUS_CGI; #connStatus.cgi
my $IMG_DIR = $siteconfig::IMG_DIR; #/demo/img
my $CSS_DIR = $siteconfig::CSS_DIR; #/demo/script
my $HCI_PROFILE = $siteconfig::HCI_PROFILE; #/home/hci/.cluster/hci.profile
my $ARROW_UP = "
";
my $ARROW_DOWN = "
";
sub getProcStatus{
my $site = $_[0];
my $input = `$PROC_STATUS_SCRIPT 2>&1`;
#Split by line
my @list = split(/\n/, $input);
my ($i, %proc, %stat, %msg, $output);
#Ignore the first 2 lines...(verify title, else error returned)
if ( ($list[0] =~ /Process/) && ($list[0] =~ /State/) && ($list[0] =~ /Message/)){
for ($i=2; $i<=$#list; $i++){
my @line = (substr($list[$i],0,15), substr($list[$i],16,9), substr($list[$i],25,-1));
#Remove space char and \n from data, and save it into associative arrays...
$line[0] =~ s/ //gs;
$line[1] =~ s/ //gs;
$line[2] =~ s/\n//gs;
$proc{$line[0]} = $line[0];
$stat{$line[0]} = $line[1];
$msg{$line[0]} = $line[2];
}
my ($key, $count) = ("",0);
foreach $key (sort keys %proc){
my ($color, $upkey, $img) = ("",$key,"");
$upkey =~ tr/a-z/A-Z/;
if ($stat{$key} =~ /running/i){
$color = "#80CC65"; #80FF80; $img = $ARROW_UP;
}else{
$color = "#F98580"; #FF8080; $img= $ARROW_DOWN;
}
#if ($count % 2) { $color = "#F0F0F0"; }else{ $color = "#FFFFFF"; }
#$count++;
#$output .="\n
$input" . "