Linux下脚本做成服务
Posted 随笔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下脚本做成服务相关的知识,希望对你有一定的参考价值。
一.脚本做成服务
1.把启动脚本复制到 /etc/init.d目录中
2.脚本内容 xxxx代表jar包名称
#!/usr/bin/env bash
# chkconfig: 2345 20 80
#description: start and stop server
PRO_HOME=/usr/test/demo
JAVA_HOME=/usr/java/jdk1.8.0_92
SVR_NAME=test
case $1 in
start)
echo "starting $PRO_HOME/$SVR_NAME ..."
$JAVA_HOME/bin/java -Dfile.encoding=UTF-8 -jar $PRO_HOME/$SVR_NAME/xxxx.$SVR_NAME*.jar --spring.config.location=$PRO_HOME/$SVR_NAME/application.yml > $PRO_HOME/$SVR_NAME/logs.out&
;;
stop)
echo "stopping $PRO_HOME/$SVR_NAME ..."
ps -ef|grep xxxx.$SVR_NAME* |grep -v grep |awk ‘{print $2}‘ | sed -e "s/^/kill -9 /g" | sh -
;;
restart)
"$0" stop
sleep 3
"$0" start
;;
status)
ps -ef|grep xxxx.$SVR_NAME*
;;
logs)
tail -f $PRO_HOME/$SVR_NAME/logs.out
;;
*)
echo "Example: server-$SVR_NAME [start|stop|restart|status|logs]" ;;
esac
3.添加服务
[[email protected] init.d]# chkconfig --add test
4.查看所有服务列表
[[email protected] localhost]# chkconfig
二.xxxx.jar包做成启动命令
#!/usr/bin/env bash
case $1 in
start)
java -Dfile.encoding=UTF-8 -jar xxxx.jar --spring.config.location=application.yml > logs.out &
;;
stop)
ps -ef|grep xxxx* |grep -v grep |awk ‘{print $2}‘ | sed -e "s/^/kill -9 /g" | sh -
;;
restart)
"$0" stop
sleep 3
"$0" start
;;
status) ps -ef|grep xxxx*
;;
*)
echo "Example: service.sh [start|stop|restart|status]" ;;
esac
以上是关于Linux下脚本做成服务的主要内容,如果未能解决你的问题,请参考以下文章
windows下编写的bash脚本拖入linux环境下脚本出错之编码问题