一、创建脚本文件
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命令中的时间间隔。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论