Linux 编写一个启动jar包服务的脚本,如果jar包有进程就杀死进程启动,没有的话就直接启动
时间: 2024-06-04 15:14:09 浏览: 33
#!/bin/bash
# 定义变量
JAR_NAME="your_jar_name.jar"
PID=$(ps -ef | grep ${JAR_NAME} | grep -v grep | awk '{print $2}')
# 判断进程是否存在
if [ -n "$PID" ]; then
echo "kill process $PID"
kill -9 $PID
fi
# 启动jar包
nohup java -jar ${JAR_NAME} >/dev/null 2>&1 &
echo "start ${JAR_NAME}"
相关问题
windows环境,编写一个启动jar包的脚本,可以定义标题,先判断此jar包有没有在运行,如果在运行,则杀死该jar包进程重新启动,如果没有运行,就直接启动
好的,以下是一个Windows环境下的脚本,可以启动一个jar包并根据需要自定义标题。它还能够检查是否已经有进程在运行该jar包,如果有,则会杀死该进程重新启动:
@echo off
set TITLE=自定义标题
set EXE_FILE=myjar.jar
tasklist /nh /fi "imagename eq java.exe" | find /i "%EXE_FILE%" > nul && (
echo Process is already running. Killing...
taskkill /f /im java.exe /fi "imagename eq %EXE_FILE%" > nul
)
cd /d %~dp0
start " %TITLE%" /B java -jar %EXE_FILE%
编写一个定时杀死jar包进程的脚本
你可以使用以下脚本来定时杀死jar包进程:
```
#!/bin/bash
while true
do
pid=$(ps -ef | grep myjar.jar | grep -v grep | awk '{print $2}')
if [ -n "$pid" ]
then
echo "Killing process $pid"
kill -9 $pid
else
echo "Process not found"
fi
sleep 360 # 每小时检查一次
done
```
这个脚本会每小时检查一次是否有名为myjar.jar的进程在运行,如果有,则杀死该进程。如果没有,则输出"Process not found"。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)