当前位置:首页 > 开发 > 编程语言 > Java > 正文

linux 启动java进程 sh文件

发表于: 2015-04-13   作者:墙头上一根草   来源:转载   浏览:
摘要: #!/bin/bash #初始化服务器的进程PId变量 user_pid=0; robot_pid=0; loadlort_pid=0; gateway_pid=0; ######### #检查相关服务器是否启动成功 #说明: #使用JDK自带的JPS命令及grep命令组合,准确查找pid #jps 加 l 参数,表示显示java的完整包路径 #使用awk,分割出pid
#!/bin/bash
#初始化服务器的进程PId变量
user_pid=0;
robot_pid=0;
loadlort_pid=0;
gateway_pid=0;

#########
#检查相关服务器是否启动成功
#说明:
#使用JDK自带的JPS命令及grep命令组合,准确查找pid
#jps 加 l 参数,表示显示java的完整包路径
#使用awk,分割出pid ($1部分),及Java程序名称($2部分)
############
check_is_start(){
  for((i=1;i<10;i++));do
     temp_javaps=`$JAVA_HOME/bin/jps -l | grep $1`;

     if [ -n "$temp_javaps" ]; then
        temp_pid=`echo $temp_javaps | awk '{print $1}'`;

	if [ "$temp_pid" -eq 0 ];then
	   echo "$2 service start failure";
	   exit 0;
	else
          echo "$2 service is starting......";
        fi
     else
       echo "$2 service start failure";
       exit 0;
     fi
     sleep 3;
  done
  temp_javaps=`$JAVA_HOME/bin/jps -l | grep $1`;

  if [ -z "$temp_javaps" ];then
    echo "$2 service start failure";
    exit 0;
  fi
  temp_pid=`echo $temp_javaps | awk '{print $1}'`;

  if [ "$temp_pid" -eq 0 ] ; then
    echo "$2 service start failuret";
    [[ -z $(lsof -i:$3) ]]&&echo "port is not linster"||echo "port is linster"
    exit 0;
  else
    echo "$2 service start succeed";
  fi
}
#########
#停止服务器
#########
stop_service(){
    temp_javaps=`$JAVA_HOME/bin/jps -l | grep $1`;

    if [ -n "$temp_javaps" ]; then
      temp_pid=`echo $temp_javaps | awk '{print $1}'`;

      if [ "$temp_pid" -eq 0 ];then
	 echo "$1 service is not starting......";
      else
	 su - root -c "kill -15 $temp_pid"
	 echo "$1 stop already"
      fi
    fi
}

###################################
#启动服务器
###################################
start(){
    ###################################
    #启动用户服务器
    #
    #检查用户服务器是否启动成功
    #监听端口6664
    ###################################
    cd user;
    ./start.sh;
    check_is_start server-user-0.0.1-SNAPSHOT.jar user 6664;

    ###################################
    #启动机器人服务器
    #
    #启动之后调用check_is_start 检查是否启动成功
    #监听端口6664
    ###################################
    cd ../robot;
    ./start.sh;
    check_is_start server-robot-0.0.1-SNAPSHOT.jar robot 6656;

    ###################################
    #启动斗地主服务器
    #
    #启动之后调用check_is_start 检查是否启动成功
    #监听端口6664
    ###################################
    cd ../loadlort;
    ./start.sh;
    check_is_start server-game-0.0.1-SNAPSHOT.jar game 6668;

    ###################################
    #启动网管服务器
    #
    #启动之后调用check_is_start 检查是否启动成功
    #监听端口6664
    ###################################
    cd ../gateway;
    ./start.sh;
    check_is_start server-gateway-0.0.1-SNAPSHOT.jar gateway 9092;
}

###################################
#停止服务器
###################################
stop(){
    stop_service server-gateway-0.0.1-SNAPSHOT.jar;
    stop_service server-robot-0.0.1-SNAPSHOT.jar;
    stop_service server-user-0.0.1-SNAPSHOT.jar;
    stop_service server-game-0.0.1-SNAPSHOT.jar;
}

###################################
#读取脚本的第一个参数($1),进行判断
#参数取值范围:{start|stop|restart|status|info}
#如参数不在指定范围之内,则打印帮助信息
###################################
case "$1" in
   'start')
      start
      ;;
   'stop')
     stop
     ;;
  *)
echo "Usage: $0 {start|stop}"
exit 1
esac 
exit 0

 

linux 启动java进程 sh文件

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1、如果想使用Linux crontab(类似java quartz),需要先启动crontab.关于crontab的启动、关闭、重启
有时候,我们需要在自己的程序(进程)中启动另一个程序(进程)来帮助我们完成一些工作,那么我们
有时候,我们需要在自己的程序(进程)中启动另一个程序(进程)来帮助我们完成一些工作,那么我们
VFS中还有2个专门针对文件系统的2个对象, - struct file_system_type: 用来描述文件系统的类型(比
内容源于: 鸟哥的linux私房菜 链接如下: 启动流程与主要启动记录区(MBR) 认识 EXT2 文件系统 文件系
C#中的Process类提供对本地和远程进程的访问,并能够启动和停止本地系统进程。 本博文使用Process类
孤儿进程与僵尸进程 孤儿进程: 如果父进程先退出,子进程还没退出那么子进程的父进程将变为init进程
孤儿进程与僵尸进程 孤儿进程: 如果父进程先退出,子进程还没退出那么子进程的父进程将变为init进程
在编程过程中经常需要启动一个新进程,有时需要从当前进程中启动其它程序来并行或替换当前进程(即
<img src="http://img.it610.com/image/info5/19bfdd56b9b446ed88d154f40aceb464.jpg" alt="linu
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号