#!/opt/SPECTRUM/bin/perl
###############################################################################
#
#  CA Incorporated
#  273 Corporate Drive
#  Portsmouth, NH 03801
#  Copyright (c) 2010 CA, Inc.
#  All rights reserved.
#
#  IN NO EVENT SHALL CA INCORPORATED BE LIABLE FOR
#  ANY INCIDENTAL, INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES
#  WHATSOEVER (INCLUDING BUT NOT LIMITED TO LOST PROFITS) ARISING OUT
#  OF OR RELATED TO THIS SOFTWARE, EVEN IF CA INCORPORATED HAS BEEN
#  ADVISED OF, KNOWN, OR SHOULD HAVE KNOWN, THE POSSIBILITY OF SUCH
#  DAMAGES.
#
###############################################################################

###############################################################################
#
#  File: /sablime/sablime5_2/sdb/Ssprd/prod/s.stopSS.pl.tpl
#
#  Version: 1.1.1.3 - 05/23/06 04:20:57
#
###############################################################################

# obtain SPECROOT from /opt/SPECTRUM/spectrum80.env
$spec_env = "/opt/SPECTRUM/spectrum80.env";

open(INFILE, "<$spec_env") || die "Unable to open $spec_env for reading\n";
while (defined($inline = <INFILE>)) {
    if( $inline =~ /^SPECROOT/ )
    {
        $SPECROOT=$inline;
        chomp( $SPECROOT );
        $SPECROOT =~ s/^[^=]+=\s*//;
        break;
    }
}
close(INFILE);

$cmdC = "$SPECROOT/bin/cmdC";

if( isRunning( "ARCHMGR" ) )
{
    print "Stopping Archive Manager\n";
    !system( "$cmdC localhost 2 ARCHMGR > /dev/null" ) || print "Error stopping Archive Manager\n";
}
else
{
    print "Archive Manager is not running\n";
}

if( isRunning( "SS" ) )
{
    print "Stopping SpectroSERVER\n";
    !system( "$cmdC localhost 2 SS > /dev/null" ) || print "Error stopping SpectroSERVER\n";
}
else
{
    print "SpectroSERVER is not running\n";
}

sub isRunning()
{
    my( $TicketName ) = @_;
    my $is_running = 0;

    open(CMDC,"$cmdC localhost 8 $TicketName |") || die "Error running cmdC\n";
    while (defined($inline = <CMDC>)) {
        if( $inline =~ /^ticket process_pid/ )
        {
            $inline =~ s/^[^=]+=\s*//;
            if( $inline != 0 )
            {
                $is_running = $inline;
                break;
            }
        }
    }
    close(CMDC);

    return $is_running;
}