#!/usr/bin/perl -w
use strict;
use IO::Socket;
my $port = 8989;
my $exec = "./pos2";
my $check_interval = 30;
my $this_script = "perl auto_start.pl";
print "Auto-start initialized, check interval on port $port set to $check_interval.\n\r";
for (;;) {
#Attempt to create a socket to the kbk port and check the result.
my $sock = new IO::Socket::INET(LocalAddr => 'localhost',
LocalPort => $port,
Proto => 'tcp');
if ($sock) {
close $sock or die "Unable to close socket. Can't start it now!\n\r";
print "Auto-start: KBK appears to be down. Attempting to auto-restart.\n\r";
system($exec);
system($this_script);
}
else {
print "Auto-start: KBK appears to be up.\n\r";
}
sleep(30);
}