#!/usr/bin/perl use strict; use warnings; use Time::localtime; use File::stat; my $watchdog=0; #my @machines=("i7","i7a","macpro","peeves","test"); #my @machines=("i7","i7a","test"); # my @machines = ; #print "@machines\n"; for (my $i=0; $i 1, 'Feb' => 2, 'Mar' => 3, 'Apr' => 4, 'May' => 5, 'Jun' => 6, 'Jul' => 7, 'Aug' => 8, 'Sep' => 9, 'Oct' => 10, 'Nov' => 11, 'Dec' => 12 ); my $b=""; print chr(0x1b)."[1;1H"; print chr(0x1b)."[J"; while(1) { my $status=`cat /home/regression/cluster/status`; chomp $status; if (!exists $status{'main'}{"status"} || $status{'main'}{"status"} ne $status) { print chr(0x1b)."[".(1).";1H"; printf "%s".chr(0x1b)."[K\n",$status; print chr(0x1b)."[".(scalar(@machines)+2).";1H"; $status{'main'}{"status"}=$status; } for (my $i=0; $ictime))>300); if (!exists $status{$machine}{"status"} || $status{$machine}{"status"} ne $s0 || $status{$machine}{"down"} ne $down) { $status{$machine}{"status"}=$s0; $status{$machine}{"down"}=$down; print chr(0x1b)."[".($i+2).";1H"; printf "%-10s %s %s".chr(0x1b)."[K\n",$machine,$down,$s0; print chr(0x1b)."[".(scalar(@machines)+2).";1H"; } my $a=`cat /home/regression/cluster/queue.lst`; if ($a ne $b) { print chr(0x1b)."[".(scalar(@machines)+3).";1H"; print "Current and pending jobs:\n"; print chr(0x1b)."[J"; print $a; $b=$a; } } #print $s."\n"; #print $s2."\n"; sleep 1; }