编写一个shell脚本,使用 nohup 运行jar包
时间: 2023-02-28 18:31:58 浏览: 75
你可以创建一个名为run.sh的shell脚本,内容如下:
```
#!/bin/bash
nohup java -jar /path/to/your.jar &
```
然后,执行以下命令以运行该脚本:
```
sh run.sh
```
这将使用nohup在后台运行your.jar,并且即使你关闭终端它也会继续运行。
相关问题
编写一个在centos7上运行jar包的shell脚本
可以按照以下步骤编写一个在CentOS 7上运行jar包的shell脚本:
1. 创建一个新的文件,例如`run.sh`,并加入以下内容:
```
#!/bin/bash
java -jar /path/to/your/jar/file.jar
```
其中,`/path/to/your/jar/file.jar`是指你的jar文件的路径。
2. 保存并关闭文件,并将其设置为可执行文件:
```
chmod +x run.sh
```
3. 运行脚本:
```
./run.sh
```
这将启动你的jar文件并在终端中显示输出。如果你希望在后台运行该文件,可以使用以下命令:
```
nohup ./run.sh &
```
这将在后台运行你的jar文件,并将输出保存到`nohup.out`文件中。
写一个自动启动jar包的shell脚本
当然可以!下面是一个示例的Shell脚本,可以用来自动启动一个Java的jar包:
```bash
#!/bin/bash
# 设置jar包路径
JAR_PATH="/path/to/your/jarfile.jar"
# 设置Java运行参数
JAVA_OPTS="-Xms512m -Xmx1024m"
# 检查是否已经有进程在运行
PID=$(ps -ef | grep $JAR_PATH | grep -v grep | awk '{print $2}')
if [ -n "$PID" ]; then
echo "Jar包已经在运行中,进程ID: $PID"
else
# 启动jar包
nohup java $JAVA_OPTS -jar $JAR_PATH > /dev/null 2>&1 &
echo "Jar包已成功启动!"
fi
```
将上述代码保存为一个.sh文件,然后赋予执行权限(使用`chmod +x filename.sh`命令),就可以使用`./filename.sh`命令来执行该Shell脚本了。
这个脚本首先会设置jar包的路径和Java的运行参数。然后,它会检查是否已经有相同的进程在运行,如果是,则会输出已经运行的进程ID;否则,会使用nohup命令来启动jar包,并将输出重定向到/dev/null,使其在后台运行。
希望这个脚本能够满足你的需求!如果有任何问题,请随时提问。