当前位置: 首页 > news >正文

恩施做网站的公司在线生成器免费

恩施做网站的公司,在线生成器免费,网站建设项目开发,网站制作app编辑linux启动脚本 执行 vi run_blog 按i 进入编辑,复制以下代码,并根据当前环境修改三个参数。以下是详细完整脚本代码: #!/bin/bash# 配置部分 JAR_PATH"/path/to/your/app.jar" # 替换为你的 JAR 文件的实际路径 L…

编辑linux启动脚本

  执行 vi run_blog 按i 进入编辑,复制以下代码,并根据当前环境修改三个参数。以下是详细完整脚本代码:

#!/bin/bash# 配置部分
JAR_PATH="/path/to/your/app.jar"             # 替换为你的 JAR 文件的实际路径
LOG_FILE="/var/log/app.log"                  # 日志文件路径
JAVA_OPTS="-Xms512m -Xmx1024m"               # Java 启动参数,可根据需要调整# 获取应用的 PID
get_pid() {# 使用 pgrep 查找运行指定 JAR 的 Java 进程pgrep -f "java .* -jar $JAR_PATH"
}# 启动函数
start() {PID=$(get_pid)if [ -n "$PID" ]; thenecho "应用已在运行,PID=$PID"exit 1fiecho "启动应用..."nohup java $JAVA_OPTS -jar "$JAR_PATH" > "$LOG_FILE" 2>&1 &sleep 1  # 确保进程有时间启动PID=$(get_pid)if [ -n "$PID" ]; thenecho "应用已启动,PID=$PID"elseecho "启动失败,请检查日志文件:$LOG_FILE"exit 1fi
}# 停止函数
stop() {PID=$(get_pid)if [ -z "$PID" ]; thenecho "应用未运行"exit 1fiecho "停止应用,PID=$PID"kill $PID# 等待进程结束for i in {1..10}; doif ! ps -p $PID > /dev/null 2>&1; thenbreakfisleep 1doneif ps -p $PID > /dev/null 2>&1; thenecho "进程未正常停止,强制杀死进程"kill -9 $PIDfiecho "应用已停止"
}# 重启函数
restart() {stopstart
}# 状态检查函数
status() {PID=$(get_pid)if [ -n "$PID" ]; thenecho "应用正在运行,PID=$PID"exit 0elseecho "应用未运行"exit 1fi
}# 主逻辑,根据传入的参数执行相应的函数
case "$1" instart)start;;stop)stop;;restart)restart;;status)status;;*)echo "用法: $0 {start|stop|restart|status}"exit 1;;
esac
使用说明
  1. 配置脚本

    • 修改 JAR_PATH:将 /path/to/your/app.jar 替换为你的 JAR 文件的实际路径,例如 /home/user/myapp/app.jar
    • 修改 LOG_FILE:设置日志文件的路径,例如 /var/log/app.log
    • 调整 JAVA_OPTS:根据需要调整 Java 启动参数,例如内存设置等。
  2. 赋予执行权限

chmod +x app_control.sh

使用脚本

  • 启动应用

    ./run_blog.sh start
  • 停止应用

    ./run_blog.sh stop
  • 重启应用

    ./run_blog.sh restart
  • 检查应用状态

    ./run_blog.sh status
详细说明
  • 获取 PID

    脚本通过 pgrep -f "java .* -jar $JAR_PATH" 来查找运行指定 JAR 文件的 Java 进程。这种方法避免了使用 PID 文件,确保脚本能够准确定位到对应的进程。

  • 启动应用

    使用 nohup& 将应用在后台运行,并将输出重定向到指定的日志文件。启动后,脚本会等待一秒钟以确保进程已启动,并再次检查 PID。

  • 停止应用

    脚本首先查找应用的 PID,然后发送 SIGTERM 信号请求进程优雅退出。如果进程在 10 秒内未停止,脚本将发送 SIGKILL 信号强制终止进程。

  • 状态检查

    通过检查 PID 是否存在,判断应用是否正在运行,并输出相应的信息。

执行脚本如下图: 

 

自动启动(可选)

如果希望应用在系统启动时自动运行,可以将脚本添加到 systemd 服务中。以下是创建 systemd 服务单元文件的步骤:

  1. 创建服务单元文件

    创建一个 app.service 文件在 /etc/systemd/system/ 目录下:

    [Unit]
    Description=My Java Application
    After=network.target[Service]
    User=your_username
    ExecStart=/path/to/app_control.sh start
    ExecStop=/path/to/app_control.sh stop
    Restart=always[Install]
    WantedBy=multi-user.target
    

    注意

  •  将 your_username 替换为运行应用的实际用户名。
  • /path/to/app_control.sh 替换为脚本的实际路径。

启用并启动服务

sudo systemctl daemon-reload
sudo systemctl enable app.service
sudo systemctl start app.service
  1. 管理服务

    使用 systemctl 命令来管理应用:

    • 查看状态

      sudo systemctl status app.service
    • 停止服务

      sudo systemctl stop app.service
    • 重启服务

      sudo systemctl restart app.service

日志查看

应用的输出被重定向到指定的日志文件。你可以使用以下命令实时查看日志:

tail -f /var/log/app.log

注意事项

  • 权限问题:确保脚本和日志文件的路径对运行脚本的用户具有适当的读写权限。如果选择将日志文件存放在 /var/log,可能需要使用 sudo 或调整权限。
  • 唯一性:如果服务器上有多个相同 JAR 文件运行,pgrep 可能会匹配多个进程。确保 JAR_PATH 唯一,或者根据需要调整 pgrep 的匹配模式。
  • 安全性:确保脚本的执行权限和文件权限设置合理,避免未经授权的用户修改或执行脚本。
http://www.yayakq.cn/news/673417/

相关文章:

  • 网站建设 软件开发的公司排名跨境平台哪个最好做?
  • 学网站开发可以创业吗手机版 pc 版本 网站 跳转 seo
  • 帮人注册网站 做app网络营销推广培训班
  • 30岁学网站开发高品质的网站设计制作
  • 别人的网站是怎么找到的淘宝优惠券怎么做网站
  • 镇江群立网络科技有限公司广州市口碑seo推广
  • 如何给网站做提升电子商务网站设计的三大原则是
  • 企业网站托管服务公司网络营销引流到微信xiala5
  • 我做网站推广WordPress英文网站
  • 个人建站网站c2c模式有哪些电商平台
  • 建设主管部门网站查询用什么网站开发巴西客户
  • 网站开发开票wordpress安装很慢
  • 网站给我做坏了怎么办浙江省工程建设管理协会网站
  • 厦门正规网站建设多少重庆搜索引擎seo
  • 百度网站推广费用多少钱mxd 主题Wordpress
  • 一流的聊城做网站公司深圳做网站排名哪家专业
  • wordpress调用网站域名长春财经学院招生简章
  • wp系统网站如何做seo品牌策划案模板
  • 网站建设需要些什么东西黄骅贴吧超市转租
  • 自己的网站如何做分销搜索引擎有哪些分类
  • 在html中做网站 视频网站建设可行性分析报告
  • 专门做环保设备的网站网站建设 ader
  • 学校网站建设规划南通网站建设祥云
  • 网站 手机兼容潍坊专业做薪酬绩效
  • 做流量网站挂广告还能挣钱吗wordpress 抓取时间长
  • 自适应网站模板怎么做国产地图软件哪个好用
  • 所有北京网站建设公司企业网站营销的实现方式
  • 全县网站建设管理工作会议召开wordpress 防调用
  • 杭州滨江网站建设公司跨平台网站制作
  • 仿站 flash网站建筑网站绿地新里城