编写一个 shell 脚本,可以在 Linux 系统上启动、重启、停止jar程序
时间: 2023-02-19 20:20:54 浏览: 150
我可以提供一个简单的shell脚本,用于在Linux系统上启动、重启、停止jar程序:
#!/bin/bash
# 启动jar程序
start_jar() {
nohup java -jar $1 &
}
# 重启jar程序
restart_jar() {
stop_jar $1
start_jar $1
}
# 停止jar程序
stop_jar() {
ps -ef | grep $1 | grep -v grep | awk '{print $2}' | xargs kill -9
}
case "$1" in
start)
start_jar $2
;;
restart)
restart_jar $2
;;
stop)
stop_jar $2
;;
*)
echo "Usage: $0 {start|restart|stop} [jar file]"
exit 1
;;
esac
相关问题
linux动态重启jar包脚本
Linux下动态重启JAR包通常涉及使用守护进程(Daemon)或者系统服务管理工具如Systemd、Upstart或者init.d等。以下是一个简单的步骤说明:
1. **创建启动脚本**:你可以编写一个shell脚本,比如`restart_jar.sh`,内容如下:
```bash
#!/bin/bash
# 定义Jar文件路径
JAR_PATH="/path/to/your.jar"
# 后台运行命令
nohup java -jar $JAR_PATH > /dev/null 2>&1 &
# 添加重启逻辑(例如每5分钟检查一次)
while true; do
if ! pgrep -f "java -jar $JAR_PATH"; then
echo "Restarting jar..."
nohup java -jar $JAR_PATH > /dev/null 2>&1 &
fi
sleep 300 # 每隔5分钟检查一次
done
```
2. **添加到系统服务**:将此脚本添加到`/etc/init.d`目录下,并设置启动、停止、重启等操作。然后运行`sudo update-rc.d restart_jar.sh defaults` 或者相应的systemd服务注册命令。
3. **启用服务**:最后,通过运行`sudo service restart_jar.sh start`来启动这个JAR包,或者可以将其设置为开机自动启动。
linux重启多个jar包脚本,
在Linux系统中,如果你需要编写一个脚本来重启多个JAR包(Java可执行文件),通常可以创建一个shell脚本(例如.sh文件)。这个脚本会遍历包含JAR文件的目录,然后通过命令行工具如`nohup`和`java -jar`来启动每个JAR。
以下是一个简单的示例脚本内容:
```bash
#!/bin/bash
# 定义要监控的JAR文件夹路径
JAR_DIR="/path/to/your/jars"
# 遍历JAR文件夹
for jar_file in "$JAR_DIR"/*.jar; do
# 使用nohup在后台运行并忽略退出状态
nohup java -jar "$jar_file" &
done
echo "All JARs have been started."
# 提供一些日志信息
echo "You can check the logs at /var/log/myapp.log for each JAR process."
# 可选的:显示正在运行的进程ID列表
echo "Running processes:"
ps aux | grep 'java -jar'
```
保存脚本后,使用`chmod +x script_name.sh`给它执行权限,然后使用`./script_name.sh`来运行它。如果需要定期自动重启,你可以设置cron任务来定时执行此脚本。
阅读全文