编写shell脚本启动jar
时间: 2023-10-14 19:09:11 浏览: 47
可以通过以下脚本来启动一个 jar 文件:
```bash
#!/bin/bash
# 定义变量
JAR_FILE="your-jar-file.jar"
PID_FILE="app.pid"
# 判断进程是否已经在运行
if [ -f $PID_FILE ]; then
PID=`cat $PID_FILE`
if ps -p $PID > /dev/null; then
echo "Process already running with PID: $PID"
exit 1
else
echo "PID file exists but process is not running. Removing PID file."
rm $PID_FILE
fi
fi
# 启动进程
nohup java -jar $JAR_FILE > app.log 2>&1 &
echo $! > $PID_FILE
echo "Process started with PID: $!"
exit 0
```
脚本会先检查是否已经有相同的进程在运行,如果有就退出,否则启动新的进程并将 PID 写入到一个 PID 文件中。启动命令使用 `nohup` 命令将进程放入后台运行,并将输出重定向到文件中。可以将上述脚本保存为一个 `.sh` 文件,然后通过 `chmod +x` 命令添加可执行权限,最后使用 `./your-script.sh` 命令来启动脚本。
相关问题
shell脚本编写jar包启动
在 shell 脚本中启动 jar 包的基本语法为:
```
java -jar <jar-file-path> [arguments]
```
其中,`<jar-file-path>` 是 jar 包文件的路径,`[arguments]` 是可选的 jar 包启动参数。
例如,若要启动名为 `myapp.jar` 的 jar 包,并传入名为 `arg1` 的参数,可以使用如下命令:
```
java -jar myapp.jar arg1
```
可以将上述命令添加到 shell 脚本中来自动启动 jar 包。
编写一个启动jar包的shell脚本
当然可以!下面是一个简单的启动jar包的shell脚本示例:
```shell
#!/bin/bash
# 设置JAR文件路径和JVM参数
JAR_PATH="/path/to/your/jar/file.jar"
JVM_OPTIONS="-Xmx512m -Xms256m"
# 切换到JAR文件所在目录
cd $(dirname "$JAR_PATH")
# 执行启动命令
java $JVM_OPTIONS -jar $JAR_PATH
```
你需要将`/path/to/your/jar/file.jar`替换为你的实际jar文件路径。另外,如果有特定的JVM参数需要设置,你可以修改`JVM_OPTIONS`变量。
将以上脚本保存为一个文件(比如`start.sh`),然后给予执行权限:
```shell
chmod +x start.sh
```
最后,你可以通过运行`./start.sh`来启动你的jar包。
希望对你有帮助!如有任何问题,请随时提问。