天天看點

centos7自啟動服務的配置檔案

[Unit]

Description=cdb

After=network.target

[Service]

Type=forking

ExecStart=/opt/cdb/cdb-admin start

ExecStop=/opt/cdb/cdb-admin stop

ExecReload=/opt/cdb/cdb-admin restart

User=cdb

Group=cdb

[Install]

WantedBy=multi-user

對于以上配置檔案的參數還需要深究.待續

#!/bin/bash

# chkconfig: 2345 90 10

# description: message-center-service service control script

##################Need change##################

SERVICE_NAME=cdb-admin

JAR_PATH="/opt/cdb/"

JAR_FILENAME=`ls -lt $JAR_PATH | grep "cdb-admin*.*jar" | head -n 1 | awk -F ' ' '{print $9}'`

JAR_LOGFILE="/var/log/$SERVICE_NAME.log"

###############################################

echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"

echo ">>>>>> JAR_PATH            :${JAR_PATH} "

echo ">>>>>> JAR_FILENAME        :${JAR_FILENAME} "

function getServiceStatus {

  JAR_STATUS=$(ps aux|grep $JAR_FILENAME |grep -v grep)

  JAR_PID=$(ps -ef |grep $JAR_FILENAME |grep -v grep |awk '{print $2}')

}

function startServiceProcess {

#  cmd2="cd /opt/cdb"

#  cmd="nohup /usr/java/jre1.8.0_144/bin/java -jar /opt/cdb/cdb-admin.jar > /dev/null &"

#  su - cdb  -c  "${cmd2};${cmd}" || return 1

  cd /opt/cdb

  `nohup /usr/java/jre1.8.0_144/bin/java -jar /opt/cdb/cdb-admin.jar > /dev/null &` || return 1

  getServiceStatus

  if [ "$JAR_STATUS" == "" ]; then

    echo -ne "\n$SERVICE_NAME started failed, see logfile $JAR_LOGFILE ."

    return 1

  fi

  return 0;

function stopServiceProcess {

  kill -9 $JAR_PID

  sleep 10 ; getServiceStatus

    RETVAL=0; return 0;

  return 1;

function startService {

  if [ "$JAR_STATUS" != "" ]; then

    echo -ne "$SERVICE_NAME is already running\n";

  else

    startServiceProcess

    echo -n "Starting $SERVICE_NAME ( PID: $JAR_PID )  "

    if [ $? -ne 0 ]; then RETVAL=1; echo "Failed"; return 1; fi

    echo " [ OK ]"

    RETVAL=0

    return 0;

function stopService {

    echo -n "$SERVICE_NAME is not running";

    RETVAL=0; echo ""; return 0;

   echo -n "Stopping $SERVICE_NAME   "

   stopServiceProcess

   if [ $? -ne 0 ]; then RETVAL=1; echo "Failed"; return 1; fi

   echo " [ OK ]"

   RETVAL=0

   return 0;

function checkServiceStatus {

    echo "$SERVICE_NAME ( PID: $JAR_PID ) is running"

    echo "$SERVICE_NAME is stopped"

    RETVAL=3

function main {

  RETVAL=0

  case "$1" in

    start)                                               # starts the Java program as a Linux service

       startService

       ;;

    stop)                                                # stops the Java program service

       stopService

    restart)                                             # stops and restarts the service

       stopService && startService

    status)                                              # displays the service status

       checkServiceStatus

    *)

       echo "Usage: $0 {start|stop|restart|status}"

       exit 1

    esac

  exit $RETVAL

main $1

本文轉自chenzudao51CTO部落格,原文連結: http://blog.51cto.com/victor2016/1982207,如需轉載請自行聯系原作者