[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,如需轉載請自行聯系原作者