`
chenhua_1984
  • 浏览: 1246175 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

shell 实现java程序的start,stop,restart,status

阅读更多
#!/bin/bash
#chkconfig: 5 80 90
#description:check
#
 
# source function library
#. /etc/rc.d/init.d/functions

JAVA_HOME=/usr/bin
export JAVA_HOME=$JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

DIALUP_PID=/root/unixDialup/dialup.pid
start()
{
    echo -n $"Starting $prog: "
    echo "Hello Linux Service check ..."
    nohup java -jar /root/unixDialup/check.jar >/dev/null 2>&1 & new_agent_pid=$!
	echo "$new_agent_pid" > $DIALUP_PID
}
 
stop()
{
       
	 if [ -f /root/unixDialup/dialup.pid ];then
                    SPID=`cat /root/unixDialup/dialup.pid`
					  if [ "$SPID" != "" ];then
						 kill -9  $SPID

						 echo  > $DIALUP_PID
						 echo "stop success"
					  fi
	 fi
}

CheckProcessStata()
{
    CPS_PID=$1
    if [ "$CPS_PID" != "" ] ;then
        CPS_PIDLIST=`ps -ef|grep $CPS_PID|grep -v grep|awk -F" " '{print $2}'`
    else
        CPS_PIDLIST=`ps -ef|grep "$CPS_PNAME"|grep -v grep|awk -F" " '{print $2}'`
    fi

    for CPS_i in `echo $CPS_PIDLIST`
    do
        if [ "$CPS_PID" = "" ] ;then
            CPS_i1="$CPS_PID"
        else
            CPS_i1="$CPS_i"
        fi

        if [ "$CPS_i1" = "$CPS_PID" ] ;then
            #kill -s 0 $CPS_i
            kill -0 $CPS_i >/dev/null 2>&1
            if [ $? != 0 ] ;then
                echo "[`date`] MC-10500: Process $i have Dead" 
                kill -9 $CPS_i >/dev/null 2>&1
               
                return 1
            else
                #echo "[`date`] MC-10501: Process is alive" 
                return 0
            fi
        fi
    done
    echo "[`date`] MC-10502: Process $CPS_i is not exists" 
    return 1
}

status()
{
  SPID=`cat /root/unixDialup/dialup.pid` 
  CheckProcessStata $SPID >/dev/null
                             if [ $? != 0 ];then
                                echo "unixdialup:{$SPID}  Stopped ...."
                              else
                                echo "unixdialup:{$SPID} Running Normal."
                             fi

}
 
restart()
{
    echo "stoping ... "
    stop
    echo "staring ..."
    start
}
 
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
         status
        ;;
    restart)
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|restart}"
        RETVAL=1
esac
exit $RETVAL

 

分享到:
评论

相关推荐

    linux系统Shell脚本运行java项目。

    linux shell脚本启动java。 ---------------------------------------- Windows编辑的sh,在linux会报错: shell unexpected end of file 解决办法: ...运行命令:sh test.sh start/stop/restart/status

    spring boot/spring cloud项目启动脚本,默认名称:start.sh

    linux服务器,springboot,spring cloud、spring cloud alibaba等项目启动脚本 下载脚本, 1,上传脚本至jar包同级目录 2,更改脚本: jar包名称 项目文件路径 日志路径(包含日志名称) ..../start.sh status

    Linux通用java程序启动脚本代码实例

    restart函数首先stop程序,然后start程序。status函数调用checkpid函数,检查程序是否正在运行。 五、shell脚本的优点 该shell脚本有很多优点,例如: * 可以作为开机自启动service脚本被调用 * 也可以作为启动...

    项目启停通用shell脚本

    项目start|stop|restart|status操作通用脚本 eg: sh service.sh start new_project

    linux启动、关闭、重启jar包shell脚本

    内容可根据自己的情况修改,还有jar包名称;脚本中的`JAR`变量可以修改成自己的jar包名称;然后进行启动、重启、停止等操作; ```bash vim jar_start.sh ...sh jar_start.sh status #查看jar包状态(是否启动)

    shell定时器与shell发送邮件给到邮箱

    shell 定时器的规则是通过 crontab 文件来实现的。crontab 文件中包含了五个字段,分别是分钟、小时、日、月、星期。每个字段都可以使用特定的符号来表示不同的时间范围。 * `*`:表示每分钟、每小时、每天、每月、...

    PHP+shell脚本操作Memcached和Apache Status的实例分享

    根据传入的参数(`start`, `stop`, `restart`),该脚本会执行相应的操作: - `start`函数检查当前是否有正在运行的Memcached进程,如果没有,则启动服务,并记录PID到指定的文件。 - `stop`函数首先尝试停止守护...

    linux常用的服务脚本大全.zip

    这些脚本遵循特定的约定,例如必须实现start、stop、status、restart、reload等函数。Debian、Ubuntu等系统后来采用了Upstart,而现在更多的系统,如CentOS、Fedora、RHEL等则采用Systemd,但Service脚本仍然保留,...

    shell:统一管理jar包启动脚本,控制台指定输出

    1.在企业级开发中,公司有多个javaee项目,怎么优雅... operate第一个参数 start|stop|status|restart|reload appname第二个参数 表示启动的应用名前缀 nohup java -jar xxx.jar >> /home/logs/appname/xxx.log 2>&

    Linux下SpringBoot jar包 启动、停止、重启及状态查看shell脚本

    部署springboot 项目时,替换包后的停止、启动、重启及状态查看,操作比较琐碎,因此我们可以通过编写一个shell脚本来进行启动(start)、停止(stop)、重启(restart)和状态查看(status)操作,一步到位,方便高效

    详解spring boot 以jar的方式启动常用shell脚本

    echo "Usage: $0 {start|stop|restart|status}" exit 1 esac exit 0 ``` shell 脚本解释 该 shell 脚本主要实现了四个功能:启动、停止、状态检查和重启。其中: * `start` 命令用于启动 Spring Boot 项目,...

    Tengine服务器快速搭建方法 云服务器一键安装LTMP(TengineRPM一键安装)

    - MySQL: `service mysqld {start|stop|status|restart|condrestart|try-restart|reload|force-reload}` 安装完成后,用户可以通过IP地址访问Tengine的欢迎页面,证明安装成功。此外,TengineRPM还提供了默认的...

    Shell脚本注册到Linux系统服务实例

    这个脚本定义了四个主要功能:`start`、`stop`、`restart`和`status`,分别用于启动、停止、重启和检查服务的状态。脚本开始时设置了路径、可执行文件名和PID文件的位置。然后,它检查可执行文件是否存在。接下来,...

    linux-shell自动部署脚本参考文件

    该脚本基于centos环境下的shell脚本自动部署配置,该脚本内容基本无需变化,仅根据sh文件名称进行对应的服务jar名称定位,比如,将...也封装了start,status,restart,stop等常用shell命令函数,灵活方便,容易上手。

    linux各自启动配置脚本简介

    echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac ``` #### 四、rc.local 文件 - **rc.local**:尽管不是官方的标准,`/etc/rc.d/rc.local` 文件经常被用于执行自定义的启动任务。由于它的简单性...

    使用JavaServiceWrapper设置tomcat作为linux服务并且开机自动启动.pdf

    ### 使用Java Service Wrapper设置Tomcat作为Linux服务并实现开机自动启动 #### 一、概述 在部署基于Java的应用服务器时,通常需要将Tomcat配置为系统服务,以便于管理和维护。传统的做法是通过编写shell脚本来...

    apache一键安装和启停脚本开发

    2. **脚本封装**:为了方便使用,可以创建一个主脚本,如`manage_apache.sh`,接受参数如`start`、`stop`、`restart`等,调用相应的子脚本执行操作。 四、脚本实例 下面是一个简单的`start_apache.sh`示例: ```...

    CentOS下redis自启动shell脚本

    echo $"Usage: $0 {start|stop|restart|condrestart|status}" RETVAL=1 esac exit $RETVAL ``` 请注意,这个脚本中的路径(如`BIN`, `CONFIG`, `PIDFILE`)需要根据实际Redis安装的位置进行调整。保存脚本后,...

Global site tag (gtag.js) - Google Analytics