#!/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