| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #!/bin/bash
- ##############################################
- # Snapshot 后端停止服务脚本
- # 适用于 Linux 环境
- ##############################################
- # 颜色输出
- RED='\033[0;31m'
- GREEN='\033[0;32m'
- YELLOW='\033[1;33m'
- NC='\033[0m' # No Color
- print_info() {
- echo -e "${GREEN}[INFO]${NC} $1"
- }
- print_error() {
- echo -e "${RED}[ERROR]${NC} $1"
- }
- print_warning() {
- echo -e "${YELLOW}[WARNING]${NC} $1"
- }
- echo "============================================"
- echo "Snapshot 后端停止服务"
- echo "============================================"
- echo
- # 查找运行中的Snapshot进程
- PIDS=$(pgrep -f "snapshot-backend-1.0.0.jar")
- if [ -z "$PIDS" ]; then
- print_warning "未找到运行中的Snapshot后端服务"
- exit 0
- fi
- print_info "找到运行中的服务进程:"
- echo "$PIDS"
- echo
- # 尝试优雅停止
- print_info "正在停止服务..."
- for PID in $PIDS; do
- if ps -p $PID > /dev/null; then
- kill $PID
- print_info "已发送停止信号到进程: $PID"
- fi
- done
- # 等待进程结束
- sleep 3
- # 检查是否还有进程运行
- REMAINING_PIDS=$(pgrep -f "snapshot-backend-1.0.0.jar")
- if [ -n "$REMAINING_PIDS" ]; then
- print_warning "服务未响应,强制停止..."
- for PID in $REMAINING_PIDS; do
- if ps -p $PID > /dev/null; then
- kill -9 $PID
- print_info "已强制停止进程: $PID"
- fi
- done
- sleep 1
- fi
- # 最终检查
- if pgrep -f "snapshot-backend-1.0.0.jar" > /dev/null; then
- print_error "停止失败,请手动检查"
- exit 1
- else
- print_info "服务已成功停止"
- fi
- echo
- print_info "Snapshot 后端服务已停止"
|