jar包在centos上后台运行并开机自动

个人网站添加链接描述
可以按照以下步骤操作:
创建一个启动脚本,例如
start_jar.sh,并将以下内容复制到文件中

#!/bin/bash

JAR_PATH="/path/to/your.jar"
LOG_FILE="/path/to/logfile.log"
JAVA_OPTS="-Xmx512m -Xms256m"
PORT=8080

检查端口是否被占用

check_port() {
  local is_port_in_use=$(netstat -tln | grep ":$PORT ")

  if [[ -n "$is_port_in_use" ]]; then
    local pid=$(netstat -tlnp | grep ":$PORT " | awk '{print $7}' | cut -d'/' -f1)
    echo "Port $PORT is already in use by process $pid. Killing the process..."
    kill -9 $pid
  fi
}
启动JAR包
start_jar() {
  check_port

  nohup java $JAVA_OPTS -jar $JAR_PATH > $LOG_FILE 2>&1 &
  echo "JAR started successfully."
}

start_jar

在上面的脚本中,我们添加了一个函数 check_port,用于检查指定的端口是否被占用。如果端口已被占用,脚本将获取占用该端口的进程ID,并使用 kill 命令强制终止该进程。

/path/to/your.jar 替换为您实际的JAR文件路径,并将 /path/to/logfile.log 替换为您希望将日志输出写入的日志文件路径。
将脚本文件
start_jar.sh 移动到 /etc/init.d/ 目录,并使用以下命令更改文件的权限:

sudo chmod +x /etc/init.d/start_jar.sh

执行以下命令将脚本添加到开机启动项中:

sudo chkconfig --add start_jar.sh

配置完成后,重启系统即可测试脚本的开机启动功能。
脚本将在系统启动时自动运行,并启动JAR包。在启动过程中,脚本会检查指定的端口是否被占用,如果被占用,将终止占用该端口的进程。
请确保您具有足够的权限来执行上述操作,以及在脚本中替换为实际的JAR文件路径、日志文件路径和端口号。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值