编辑代码

#!/bin/bash

# 进程名称
process_name="xw-admin.jar"
# 查找进程,并使用`grep -v grep`过滤掉`grep java`自身的进程
java_procs=$(ps -ef | grep $process_name  | grep -v grep)

if [[ -z "$java_procs" ]]; then
  echo "找不到 $process_name 进程"
else
  echo "找到以下 $process_name 进程:"
  echo "$java_procs"
  # 睡眠3秒  
  sleep 3
  # 提取进程ID
  pids=$(echo "$java_procs" | awk '{print $2}')
  # 逐个终止进程
 for pid in $pids; do
   echo "正在杀死 $pid $process_name 进程"
   kill $pid
 done
 echo "$pid $process_name 进程已被杀死"
fi
# 启动进程
   echo "正在启动 $process_name 进程"
 nohup java -jar xw-admin.jar & 

   echo "正在打印 $process_name 启动日志:"
# 睡眠5秒  
   sleep 5
# 打印启动日志  
   tail -f nohup.out