zoukankan      html  css  js  c++  java
  • java程序在centos7里面开机自启动

    1.我们先来个简单的start,status,stop程序:

    [root@localhost ~]# cat /home/tomcat/jarservice.sh
    #!/bin/bash
    CU_PID=/home/tomcat/cupid.pid
    start()
    {
    echo -n "start java"
    nohup java -jar /home/tomcat/exchange-1.4.jar >/dev/null 2>&1 &
    new_agent_pid=$!
    echo "$new_agent_pid" > $CU_PID
    }
    stop()
    {
    if [ -f /home/tomcat/cupid.pid ];then
    SPID=`cat /home/tomcat/cupid.pid`
    if [ "$SPID" != "" ];then
    kill -9 $SPID
    echo >$CU_PID
    echo "stop sucess"
    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 /home/tomcat/cupid.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

    2.再写个服务文件:

    [root@localhost ~]# cat /lib/systemd/system/jar.service
    [Unit]
    Description=java
    After=network.target

    [Service]
    Type=forking
    ExecStart=/home/tomcat/jarservice.sh start
    ExecReload=/home/tomcat/jarservice.sh restart
    ExecStop=/home/tomcat/jarservice.sh stop
    #PrivateTmp=true
    User=tomcat
    [Install]
    WantedBy=multi-user.target
    [root@localhost ~]#

    3.开机测试:成功!!!

    [root@localhost ~]# systemctl status jar.service
    ● jar.service - java
    Loaded: loaded (/usr/lib/systemd/system/jar.service; enabled; vendor preset: disabled)
    Active: active (running) since Thu 2017-07-27 01:10:38 EDT; 36s ago
    Process: 858 ExecStart=/home/tomcat/jarservice.sh start (code=exited, status=0/SUCCESS)
    Main PID: 870 (java)
    CGroup: /system.slice/jar.service
    └─870 java -jar /home/tomcat/exchange-1.4.jar

  • 相关阅读:
    搭建cdh单机版版本的hive所遇到的问题总汇
    CentOS下Java的安装与环境配置
    重新认识Maven
    spring boot 搭建web项目常见五种返回形式
    一段递归代码引发的对于传参以及关于基本类型的一点了解
    爬虫
    .NET简谈接口
    C# Dictionary用法总结
    select @@identity的用法 转
    DataSet用法详细 转
  • 原文地址:https://www.cnblogs.com/Jt00/p/7244330.html
Copyright © 2011-2022 走看看