xcat-core/xCAT-server/sbin/stopstartxcatd
2009-03-02 16:04:09 +00:00

109 lines
2.4 KiB
Perl
Executable File

#!/usr/bin/perl
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
#(C)IBM Corp
#
BEGIN
{
$::XCATROOT =
$ENV{'XCATROOT'} ? $ENV{'XCATROOT'}
: -d '/opt/xcat' ? '/opt/xcat'
: '/usr';
}
use lib "$::XCATROOT/lib/perl";
use Getopt::Long;
use File::Basename;
use xCAT::MsgUtils;
use xCAT::Utils;
#-----------------------------------------------------------------------------
=head1 startstopxcatd
stopstartxcatd - this routine is linked to by startxCAT and stopxCAT.
It runs on AIX. If the admin runs startxCAT, it will start
or restart the xcatd, if it is already running.
If the admin runs stopxCAT, it will stop the xcatd.
=cut
#-----------------------------------------------------------------------------
# Main
my $rc = 0;
my $cmd = basename($0);
if (!(xCAT::Utils->isAIX()))
{ # only runs on AIX
xCAT::MsgUtils->message("E", "This command should only be run on AIX.\n");
exit 1;
}
&parse_args($cmd);
$rc = xCAT::Utils->runxcatd($cmd);
exit $rc;
#-----------------------------------------------------------------------------
=head3 parse_args
Parses for input
=cut
#-----------------------------------------------------------------------------
sub parse_args
{
my ($cmd) = @_;
my $msg;
my $usagemsg;
Getopt::Long::Configure("posix_default");
Getopt::Long::Configure("no_gnu_compat");
Getopt::Long::Configure("bundling");
if (
!GetOptions(
'h|help' => \$::HELP,
'r|reload' => \$::RELOAD,
'v|version' => \$::VERSION
)
)
{
if ($cmd eq "xcatstart") {
$usagemsg = "$cmd [-h|-v|-r]\n";
xCAT::MsgUtils->message("E", $usagemsg);
} else { #xcatstop
$usagemsg = "$cmd [-h|-v]\n";
xCAT::MsgUtils->message("E", $usagemsg);
}
exit 1;
}
if ($::HELP)
{
if ($cmd eq "xcatstart") {
$usagemsg = "$cmd [-h|-v|-r]\n";
xCAT::MsgUtils->message("I", $usagemsg);
} else { #xcatstop
$usagemsg = "$cmd [-h|-v]\n";
xCAT::MsgUtils->message("I", $usagemsg);
}
exit 0;
}
if ($::RELOAD)
{
$ENV{XCATRELOAD} = "yes";
}
if ($::VERSION)
{
my $version = xCAT::Utils->Version();
$version .="\n";
xCAT::MsgUtils->message("I", $version);
exit 0;
}
}