shell 实现一键启动 jar服务,并在检测有多个进程时列出进程,并可以选择进程可以选择需要杀掉进程再次启动
时间: 2023-03-21 09:02:28 浏览: 84
下面是一个简单的 Shell 脚本,用于启动和管理 Java 应用程序的 JAR 文件。
```bash
#!/bin/bash
# 应用程序的 JAR 文件名
JAR_FILE="myapp.jar"
# 检查是否有多个进程在运行
PID=`pgrep -f $JAR_FILE`
if [ -n "$PID" ]; then
echo "There are multiple instances of $JAR_FILE running:"
ps -p $PID -o pid,ppid,cmd
echo -n "Kill all instances and start a new one? (y/n) "
read answer
if [ "$answer" != "y" ]; then
exit 0
fi
kill $PID
fi
# 启动新的进程
java -jar $JAR_FILE &
echo "Application started with PID $!"
```
这个脚本首先检查是否有多个进程在运行。如果有,它会列出进程,并询问用户是否希望终止所有进程并启动一个新的。如果用户同意,则会杀死所有进程并启动新的进程。如果用户不同意,则脚本将退出。
如果没有多个进程在运行,脚本将启动一个新的进程,并输出新进程的 PID。
阅读全文