#!/usr/bin/perl # # Keep track of Zaza's processes # 0.2 7/16/2001 # Added battery voltage monitoring, minor improvements. # # 0.1 # First working version # Battery monitoring stuff system("tail -3 /usr/local/apache/htdocs/logs/buttoncall.log | grep 'BASE_batteryVoltage' >/var/tmp/battvoltage"); open (BVOLTAGE, "/var/tmp/battvoltage"); while () { $_ =~ m/BASE_batteryVoltage =\s+(\d+).(\d+)/; $battVoltage = "$1.$2"; } close BVOLTAGE; # Process monitoring stuff system("ps -ax >/var/tmp/pslist"); open (PROCESSES, "/var/tmp/pslist"); $tcxServer_running = "red"; $baseServer_running = "red"; $buttonServer_running = "red"; $pantiltServer_running = "red"; $laserServer_running = "red"; $colliServer_running = "clear"; $wanderlaser_running = "clear"; $wander_running = "clear"; $wandercolli_running = "clear"; $buttoncall_running = "clear"; $reaction_running = "clear"; while () { $_ =~ m/\d+:\d+.(.*)/; if ($1 eq "bin/tcxServer ") { $tcxServer_running = "green"; } if ($1 eq "bin/baseServer ") { $baseServer_running = "green"; } if ($1 eq "bin/buttonServer ") { $buttonServer_running = "green"; } if ($1 eq "bin/pantiltServer ") { $pantiltServer_running = "green"; } if ($1 eq "bin/laserServer ") { $laserServer_running = "green"; } if ($1 eq "bin/colliServer ") { $colliServer_running = "green"; } if (($1 eq "src/beeExamples/buttoncall ") || ($1 eq "src/beeExamples/buttoncall2 ")) { $buttoncall_running = "green"; } if ($1 eq "src/beeExamples/wander ") { $wander_running = "green"; } if (m/src\/beeExamples\/wander-laser/) { $wanderlaser_running = "green"; } if (m/src\/beeExamples\/wander-colli/) { $wandercolli_running = "green"; } if (m/src\/beeExamples\/reaction3/) { $reaction_running = "green"; } } close PROCESSES; # Check values returned from form, startup or shutdown servers and apps. # Don't block while doing so, and return status when completed. print "Content-Type: text/html\n\n"; print ""; print ""; print ""; print ""; print "

Servers Running

"; print "
tcxServer"; print ""; print "
baseServer"; print ""; print "
buttonServer"; print ""; print "
pantiltServer"; print ""; print "
laserServer"; print ""; print "
colliServer"; print ""; print "

"; print "

Applications Running

"; print "
buttoncall"; print ""; print "
wander"; print ""; print "
wander-laser"; print ""; print "
wander-colli"; print ""; print "
reaction"; print ""; if ($wanderlaser_running eq "green") { print "
Battery$battVoltage" . "V\n"; } print "
\n"; print "\n";