目录
一、创建脚本文件
vim ssmJar.sh
脚本内容如下
#!/bin/bash
# JAR文件路径
JAR_PATH="/path/to/your/jarfile.jar"
# Java可执行文件路径(可选)
JAVA_HOME="/path/to/your/java/home"
# 启动JAR文件
function startJar() {
if [ -f "$JAR_PATH" ]; then
echo "Starting JAR file..."
if [ -n "$JAVA_HOME" ]; then
$JAVA_HOME/bin/java -jar "$JAR_PATH" &
else
java -jar "$JAR_PATH" &
fi
echo "JAR file started."
else
echo "JAR file not found!"
fi
}
# 停止JAR文件
function stopJar() {
echo "Stopping JAR file..."
PID=$(ps -ef | grep "$JAR_PATH" | grep -v grep | awk '{print $2}')
if [ -n "$PID" ]; then
kill -9 "$PID"
echo "JAR file stopped."
else
echo "JAR file not running."
fi
}
# 监控JAR文件状态
function monitorJar() {
while true; do
echo "Monitoring JAR file..."
PID=$(ps -ef | grep "$JAR_PATH" | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]; then
echo "JAR file stopped."
exit 1
else
echo "JAR file is running with PID: $PID"
sleep 5 # 每隔5秒检查一次状态,可根据需要调整间隔时间
fi
done
}
# 根据参数执行相应操作
case "$1" in
start)
startJar
;;
stop)
stopJar
;;
status)
monitorJar & # 在后台运行,否则脚本会阻塞在monitorJar函数中
;;
*)
echo "Usage: $0 {start|stop|monitor}"
exit 1
;;
esac
二、赋予执行权限
通过如下命令赋予脚本文件可执行权限
chmod +x ssmJar.sh
三、使用方法
#启动
ssmJar.sh start
#停止
ssmJar.sh stop
#状态
ssmJar.sh status
请注意,需要将/path/to/your/jarfile.jar
替换为你的JAR文件的实际路径。已经将/path/to/your/java/home
替换为实际的Java安装路径。此外,你可以根据需要调整sleep
命令中的时间间隔。