OpenWrt使用 procd 配置守护进程

在 OpenWrt 上开启进程守护,通常有以下几种方法:使用 procd(OpenWrt 的进程管理系统)、nohup 或 screen 工具。OpenWrt 使用 procd 来启动、监控和管理守护进程,这是处理守护进程的最佳方式。

方法 1:使用 procd 配置守护进程

1、创建启动脚本

启动脚本通常位于 /etc/init.d/ 目录下。创建一个新的脚本文件,例如 myservice:

touch /etc/init.d/myservice
chmod +x /etc/init.d/myservice

2、编辑启动脚本

使用编辑器(例如 vi 或 nano)打开该文件,内容如下:

#!/bin/sh /etc/rc.common

START=99
STOP=10

USE_PROCD=1

start_service() {
    procd_open_instance
    procd_set_param command /path/to/your/program --your-args
    procd_set_param respawn
    procd_close_instance
}

stop_service() {
    # 这个函数会在停止服务时调用
    echo "Stopping my service"
}

procd_set_param command:指定你要运行的程序路径和参数。

procd_set_param respawn:启用自动重启功能,如果程序崩溃或退出,

procd 将自动重新启动它。

START=99:指定启动优先级,数字越小,启动越早。

3、启用和启动服务

保存文件后,启用并启动服务:

/etc/init.d/myservice enable
/etc/init.d/myservice start

通过这种方式,OpenWrt 会在每次开机时自动启动你的服务,并且服务异常退出后会被重新拉起。

方法 2:使用 nohup 和 &

如果你不需要 procd 的进程管理功能,也可以使用 nohup 和 & 将进程放入后台运行。

nohup /path/to/your/program --your-args > /dev/null 2>&1 &

不过,这种方式无法自动重启进程,也不会随系统重启自动启动。

方法 3:使用 screen 或 tmux

如果你想在后台运行程序并随时可以返回查看其状态,可以使用 screen 或 tmux。

·安装 screen: OpenWrt 中可以通过以下命令安装 screen:

opkg update
opkg install screen

使用 screen: 启动 screen,并在其中运行你的进程:

screen -S myservice
/path/to/your/program --your-args

按下 Ctrl+A,然后按 D 将会话放入后台。要重新回到会话中,可以使用:

screen -r myservice

总结

  • 如果你希望守护进程能够随系统启动并自动重启,推荐使用 procd 进行配置。
  • 如果只是需要简单地将进程放到后台运行,可以使用 nohupscreen

procd 是 OpenWrt 中的首选方式,因为它能够提供更好的进程管理功能。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片