14 changed files with 120 additions and 21 deletions
@ -0,0 +1,36 @@ |
|||
#!/bin/bash |
|||
# 执法码2.0 - 启动脚本 |
|||
# 用法: ./start.sh |
|||
|
|||
APP_HOME="/efcode20" |
|||
JAR_NAME="zdxt-job-ep.jar" |
|||
PROFILES="prod,prod-job-ep" |
|||
LOG_FILE="${APP_HOME}/zdxt-job-ep.log" |
|||
|
|||
JAR_PATH="${APP_HOME}/${JAR_NAME}" |
|||
|
|||
# 检查 jar 是否存在 |
|||
if [ ! -f "$JAR_PATH" ]; then |
|||
echo "[FAIL] ${JAR_PATH} 不存在" |
|||
exit 1 |
|||
fi |
|||
|
|||
# 检查是否已在运行 |
|||
PID=$(pgrep -f "${JAR_NAME}" 2>/dev/null) |
|||
if [ -n "$PID" ]; then |
|||
echo "[INFO] 服务已在运行 (PID: ${PID})" |
|||
exit 0 |
|||
fi |
|||
|
|||
# 启动服务 |
|||
echo "[INFO] 启动 ${JAR_NAME} ..." |
|||
nohup java -jar "${JAR_PATH}" --spring.profiles.active=${PROFILES} > "${LOG_FILE}" 2>&1 & |
|||
NEW_PID=$! |
|||
sleep 1 |
|||
|
|||
if kill -0 "$NEW_PID" 2>/dev/null; then |
|||
echo "[OK] 启动成功 (PID: ${NEW_PID})" |
|||
else |
|||
echo "[FAIL] 启动失败,请查看日志: ${LOG_FILE}" |
|||
exit 1 |
|||
fi |
|||
@ -0,0 +1,38 @@ |
|||
#!/bin/bash |
|||
# 执法码2.0 - 停止脚本 |
|||
# 用法: ./stop.sh |
|||
|
|||
JAR_NAME="zdxt-job-ep.jar" |
|||
SHUTDOWN_WAIT=15 |
|||
|
|||
# 查找进程 |
|||
PID=$(pgrep -f "${JAR_NAME}" 2>/dev/null) |
|||
if [ -z "$PID" ]; then |
|||
echo "[INFO] 服务未在运行" |
|||
exit 0 |
|||
fi |
|||
|
|||
echo "[INFO] 停止 ${JAR_NAME} (PID: ${PID}) ..." |
|||
|
|||
# 优雅停止 |
|||
kill "$PID" 2>/dev/null |
|||
|
|||
# 等待退出 |
|||
COUNT=0 |
|||
while kill -0 "$PID" 2>/dev/null; do |
|||
if [ $COUNT -ge $SHUTDOWN_WAIT ]; then |
|||
echo "[WARN] ${SHUTDOWN_WAIT}s 未退出,强制终止..." |
|||
kill -9 "$PID" 2>/dev/null |
|||
sleep 1 |
|||
break |
|||
fi |
|||
sleep 1 |
|||
((COUNT++)) |
|||
done |
|||
|
|||
if kill -0 "$PID" 2>/dev/null; then |
|||
echo "[FAIL] 停止失败 (PID: ${PID})" |
|||
exit 1 |
|||
else |
|||
echo "[OK] 已停止" |
|||
fi |
|||
Loading…
Reference in new issue