#!/usr/bin/perl -w
use strict;
use warnings;
use 5.010;
my @ps0 = qx(ps -ef |grep java);
my $ps1 = qx(ps -ef |grep java);
my $hbp_pid ;
my $hpc_pid;
#print $ps1 ;
print "HBP 和 HPC 服务启动情况:\n";
foreach (@ps0){
if($_=~m(Hansky/HBP/Server/bin/butterfly.xml$)){
my @arr = split/\s+/,$_;
$hbp_pid =$arr[1];
print "HBP服务已经启动,PID: $hbp_pid \n";
}
elsif($_=~m(Hansky/HDS/bin/start.xml$)) {
my @arr = split/\s+/,$_;
$hpc_pid =$arr[1];
print "HPC服务已经启动,PID: $hpc_pid \n";
}
}
if( !defined $hpc_pid){ die "请先启动HPC服务!\n";}
if( defined $hbp_pid ){
print "开始停止HBP服务.......\n";
qx(kill $hbp_pid);
sleep(1);
my $stophbp = qx(ps -ef |grep $hbp_pid);
if(!($stophbp=~m(Hansky/HBP/Server/bin/butterfly.xml$))){ print "HBP服务停止成功\n";}
else { die "HBP服务停止失败\n";}
}
print "开始启动HBP服务.....\n";
chdir("/usr/Hansky/HBP/Server/bin");
sleep(2);
my $starthbp = qx(nohup ./bfd > ./bfd.log 2>&1 &);
my $flag = 0;
if($starthbp eq "") { $flag=1;} else {print "HBP服务启动失败!\n";}
sleep(2);
my @ps1 = qx(ps -ef |grep java);
my $newbfpid ;
foreach (@ps1){
if($_=~m(Hansky/HBP/Server/bin/butterfly.xml$)){
my @arr = split/\s+/,$_;
$newbfpid =$arr[1];
last;
}
}
if( $flag == 1 && defined $newbfpid){ print "HBP服务启动成功"; print ",PID:$newbfpid \n";}
else { print "HBP服务启动失败!\n"}
#/usr/Hansky/HBP/Server/bin # nohup ./bfd > ./bfd.log 2>&1 &
#/usr/Hansky/HDS/bin # nohup ./pcd > pcd.log 2>&1 &