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`;
  }
}