`
墙头上一根草
  • 浏览: 149245 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

linux 启动java进程 sh文件

阅读更多
#!/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执行jar文件脚本.sh

    在linux系统中执行jar包,我们需要先杀掉对应端口的进程,然后执行java -jar命令,启动服务

    linux上通过sh方式启动java jar程序并做为守护进程

    NULL 博文链接:https://qsfwy.iteye.com/blog/1650426

    MemoryAnalyzer-1.9.1.20190826-linux.gtk.x86_64.zip

    官网一直下载不了,找这个找了好久,因为生成的dump文件太大不得不用linux..../ParseHeapDump.sh java_pid1089.hprof org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components

    deploy-uat.sh

    linux 项目启动sh文件包含kill进程 maven打包 启动服务 心跳检测是否启动完成脚本命令等

    Linux服务器命令.doc

    3 查看文件的类型 3 删除文件夹实例: 3 移动文件命令 4 解压zip文件 4 查看java 进程命令 4 查看apche进程命令 4 查看mysql进程命令 4 查看svn进程命令 4 Sh脚本后台执行 4 启动apache服务:(用root用户启动) 4 ...

    show-busy-java-threads.sh

    通过集成shell命令,在Linux终端执行,排查JAVA进程占用服务器资源的情况,便于开发人员排查代码。

    常用shell 脚本,dos攻击防范,

    Linux系统发送告警脚本.sh MySQL数据库备份单循环.sh MySQL数据库备份多循环.sh nginx 访问访问日志按天切割.sh nginx.conf nginx访问日志分析脚本.sh shell.txt 一键查看服务器资源利用率.sh 一键部署LNMP...

    check_higcpu.sh

    linux系统下,java进程使用CPU高,可利用此脚本抓取java进程的那个线程使用cpu高,集合thread dump,找到cpu高的线程编号来定位程序代码。使用方法 sh check_higcpu.sh $pid

    Linux下Tomcat的几种运行方式讲解

    执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访问了,但是ps -ef | grep tomcat 后,发现tomcat对应的java进程未随web容器关闭而销毁,进而存在僵尸java进程。网上看了下导致僵尸进程的原因可能是有非守护...

    shell脚本:一键启动当前目录所有jar包、一键停止jar包、一键查看当前目录所有jar包的进程数、一键重启jar包脚本

    此shell脚本中包含功能: 一键启动当前目录所有jar包 一键停止当前目录jar包 ...查看进程:sh java_check.sh process 启动:sh java_check.sh start 停止:sh java_check.sh stop 重启:sh java_check.sh start

    快速发布springboot项目

    以前每次发布jar文件到linux,都需要如下几个步骤: ...完事后,将shell和待启动项目放在一起,执行 sh quick_start.sh projectname.jar 即可。 shell写的比较简单,可以根据自己的需求自行调整。

    Linux部署服务器常用命令.doc

    共享内存区域 shutdown immediate 关闭oracle服务器 等session停后停止,-abort 中止,- startup force 强制重起 quit 退出oracle lsnrctl 进入监听 start开始 exit 退出 sh run.sh &启动jboss服务 shutdown.sh -s关闭...

    SHELL脚本监控JAVA进程的代码

    脚本内容:java_check.sh #! /bin/bash # if [ -z `pidof java` ]; then echo -e `date +%Y-%m-%d` `date +%R`. “33[31m33[1m(JAVA)Process does not exist! 33[0m” &gt;&gt; /data/logs/java_check.log /usr/local/...

    Linux下Tomcat的启动、关闭、杀死进程

     bin/startup.sh #启动tomcat  bin/shutdown.sh #停止tomcat  tail -f logs/catalina.out #看tomcat的控制台输出;  #看是否已经有tomcat在运行了  ps -ef |grep tomcat  #如果有,用kill;  kill -9 ...

    12.系统和数据库备份、恢复策略.doc

    数据信息备份 在数据库服务器上提供了备份脚本,/home/oracle/backup/strbackup.sh、/hom e/oracle/backup/databackup.sh,通过linux计划任务,每周一凌晨备份一次, 具体时间可设置,默认7天,保留最近20次备份。...

    项目快速部署与日志查看工具:一键启动Jar的Shell脚本

    通过执行"./startJar.sh"命令,用户可以快速启动Jar包,无需手动查找进程并进行kill操作,从而显著提高了部署效率,尤其适用于频繁部署或二次部署的场景。其次,为了方便用户查看项目日志,我们提供了另一个脚本"./...

    thrift开发入门,php客户端调用java服务方,实现跨语言调用

    然后运行 restart_thrift.sh 脚本就可以直接启动 ps 一下进程是否正常,如果错误请查看日志 然后就可以使用线下的php直接调用, 代码是从网上找到的,比较容易入门 当然也可以直接导入java目录下的java工程,直接运行...

    启动停止java服务的shell脚本

    启动停止java服务的shell脚本,可以用于微服务,springboot服务,java普通进程,等等都可以 需要积分的话是系统自动涨的,每次有人下载它就会自动给涨,我会定期改成0分

    linux学习记录

    往linux上上传文件开启linux上的vsftpd service vsftpd start(stop) 关闭linux中的防火墙 service iptables stop 要使用用户进行上传,比如root 就必须修改etc目录下的两个文件 一个是user_list 一个是ftpusers ...

    JIRA6.1.5 设置开机自启动 linux

     三、解压JIRA下载包,然后./bin/start-jira.sh启动jira。  以上详细步骤在我的文章Linux 下安装、配置、汉化JIRA6.1.5中有详细的说明。  我用网上找的在/etc/init.d/rc.local文件中加./**/start-jira.sh服务...

Global site tag (gtag.js) - Google Analytics