From 34092660e000302fd7d3c6249d05af56632ca47f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=5F=E8=80=81=E9=A9=AC=5F?= Date: Thu, 12 Sep 2024 01:20:12 +0000 Subject: [PATCH] =?UTF-8?q?!89=20=E6=B7=BB=E5=8A=A0=E4=BA=86=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E8=84=9A=E6=9C=AC=20*=20=E6=B7=BB=E5=8A=A0snail-job?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/script/snail-job.sh | 83 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 doc/script/snail-job.sh diff --git a/doc/script/snail-job.sh b/doc/script/snail-job.sh new file mode 100644 index 000000000..1107f7abc --- /dev/null +++ b/doc/script/snail-job.sh @@ -0,0 +1,83 @@ +#!/bin/sh +# ./snail-job.sh start|空 启动 stop 停止 restart 重启 status 状态 +AppName=snail-job-server-exec.jar + +# JVM参数 +JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC" +APP_HOME=`pwd` +LOG_PATH=$APP_HOME/logs/$AppName.log + +# 检查传入的操作名参数,如果为空则默认设置为 "start" +if [ "$1" = "" ]; then + echo -e "\033[0;34m 未输入操作名,默认操作为: start \033[0m" + ACTION="start" +else + ACTION=$1 +fi + +if [ "$AppName" = "" ]; then + echo -e "\033[0;31m 未输入应用名 \033[0m" + exit 1 +fi + +function start() { + PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'` + + if [ x"$PID" != x"" ]; then + echo "$AppName is running..." + else + nohup java $JVM_OPTS -jar $AppName > /dev/null 2>&1 & + echo "Start $AppName success..." + fi +} + +function stop() { + echo "Stop $AppName" + + PID="" + query(){ + PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'` + } + + query + if [ x"$PID" != x"" ]; then + kill -TERM $PID + echo "$AppName (pid:$PID) exiting..." + while [ x"$PID" != x"" ] + do + sleep 1 + query + done + echo "$AppName exited." + else + echo "$AppName already stopped." + fi +} + +function restart() { + stop + sleep 2 + start +} + +function status() { + PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l` + if [ $PID != 0 ];then + echo "$AppName is running..." + else + echo "$AppName is not running..." + fi +} + +case $ACTION in + start) + start;; + stop) + stop;; + restart) + restart;; + status) + status;; + *) + echo -e "\033[0;31m 无效的操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m";; +esac \ No newline at end of file