Sample ASU Start Script for the kitche Service
#!/contrib/bin/perl
#
# /var/adm/ues/bin/kitche_start_asdu.pl
#
$| = 1;
$kitche_service = "kitche";
$asdu_mount = '/usr/net';
#$kase3_service = "xirtlu";
#
# Kill off any processes that may be setting on the
# /usr/net
#
`/sbin/sbin/fuser -ck $asdu_mount 2> /dev/null`;
$asdu_start = "/usr/net/servers/lanman/scripts/asuase_start";
$asdu_stop = "/usr/net/servers/lanman/scripts/asuase_stop";
#
# xirtlu needs to be on the same server as kitche
#
#&do_kitche_ck;
&do_asdu_start;
print "Done.\n";
#
# Subroutines
#
sub do_kitche_ck {
$kitche = `/usr/sbin/netstat -i` || die "Could not perform netstat\n";
$kitche_ck = "1" if (grep(/\s+$kitche_service\s+/,$kitche));
$kitche_ck = "0" if ( ! grep(/\s+$kitche_service\s+/,$kitche));
}
sub do_asdu_start {
&do_kitche_ck;
if ($kitche_ck eq "1" && -x "$asdu_start" ) {
print "Starting ASDU ...\n";
system("$asdu_start");
}
else {
&keep_checking;
}
}
sub keep_checking {
$retries = "0";
while($kitche_ck eq "0") {
sleep 5;
&do_kitche_ck;
system("$asdu_start") if ($kitche_ck eq "1" && -x "$asdu_start" );
$retries++;
$kitche_ck = "1" if ( $retries eq "20");
}
if ( $retries gt "9" ) {
print "kitche not located on system, stopping ASDU startup...\n";
`$asdu_stop`;
}
}