# 线上的 ========================================================= #!/bin/bash APP_NAME="lessie-sourcing-api" MAX_WAIT_SECONDS=600 # 1. 获取 PID PID=$(ps -ef | grep "${APP_NAME}" | grep -v grep | awk '{print $2}' | head -n 1) if [ -z "$PID" ]; then echo "未找到 ${APP_NAME} 进程,无需停止" exit 0 fi echo "找到进程 PID: $PID" # 2. 发送 SIGTERM kill -TERM $PID echo "已发送 SIGTERM" # # 3. 等待退出 # ELAPSED=0 # while [ $ELAPSED -lt $MAX_WAIT_SECONDS ]; do # if ! ps -p $PID > /dev/null 2>&1; then # echo "进程已退出" # exit 0 # fi # sleep 10 # ELAPSED=$((ELAPSED+10)) # echo "已等待 ${ELAPSED} 秒..." # done # # 4. 超时强杀 # echo "超时 ${MAX_WAIT_SECONDS} 秒未退出,强制 kill -9" # kill -9 $PID # ps aux|grep $PID # s2的=================================================== #!/bin/bash APP_PATTERN="./lessie-sourcing-api$" PID=$(pgrep -f "$APP_PATTERN") if [ -z "$PID" ]; then echo "未找到 lessie-sourcing-api 进程" exit 0 fi echo "找到 PID: $PID" kill -TERM $PID echo "已发送 SIGTERM" # s3的=================================================== #!/bin/bash APP_PATTERN="./s3-lessie-sourcing-api" PID=$(pgrep -f "$APP_PATTERN") if [ -z "$PID" ]; then echo "未找到 s3-lessie-sourcing-api 进程" exit 0 fi echo "找到 PID: $PID" kill -TERM $PID echo "已发送 SIGTERM"