其实它在内部是调用 procd_open_trigger、procd_add_config_trigger 和 procd_close_trigger 这3个函数来增加触发器。 procd_open_instance、procd_set_param、procd_close_instance函数 通常这3个函数在一起使用 procd_open_instance:开始增加一个服务实例。 procd_set_param:设置服务实例的参...
(3)procd_close_instance 完成进程实例的增加。 vim /etc/init.d/zdetect #!/bin/sh /etc/rc.common USE_PROCD=1 START=88 STOP=92 start_service() { procd_open_instance procd_set_param command /usr/bin/zdetect procd_set_param respawn [ -e /proc/sys/kernel/core_pattern ] && { procd_set...
(3)procd_close_instance 完成进程实例的增加。 vim /etc/init.d/zdetect #!/bin/sh /etc/rc.common USE_PROCD=1 START=88 STOP=92 start_service() { procd_open_instance procd_set_param command /usr/bin/zdetect procd_set_param respawn [ -e /proc/sys/kernel/core_pattern ] && { procd_set...
START=20STOP=90USE_PROCD=1init_switch() { setup_switch() {return0; } include/lib/network setup_switch } start_service() { init_switch procd_open_instance procd_set_param command/sbin/netifd procd_set_param respawn procd_set_param watch network.interface[-e /proc/sys/kernel/core_pattern ...
其中,procd_set_param respawn 0,respawn设置进程挂掉自动重启 通常的嵌入式系统均有一个守护进程,该守护进程监控系统进程的状态,如果某些系统进程异常退出,将再次启动这些进程。procd 就是这样一个进程,它是使用C语言编写的,一个新的 OpenWrt 进程管理服务。它通过init脚本来将进程信息加入到 procd 的数据库中来管理...
procd_set_param command $PROG -l :$port-f 300 -c "$CONF" [ "x$logger" == x1 ] && procd_set_param stderr 1 procd_set_param respawn procd_close_instance } service_triggers() { procd_add_reload_trigger "ddnsgo" } 修改如下: ...
#!/bin/sh /etc/rc.common START=90 STOP=90 SERVICE=app USE_PROCD=1 start_service() { procd_open_instance procd_set_param command /usr/sbin/app procd_set_param
procd_open_instance#创建一个实例, 在procd看来一个应用程序可以多个实例 procd_set_param command /bin/sh"/var/xxx.sh"#执行命令行,若后面有参数可以直接在后面加上 procd_set_param respawn#定义respawn参数,告知procd当该程序退出后尝试进行重启 procd_close_instance#关闭实例 ...
procd_set_param respawn procd_close_instance } 通过指定respawn参数,就可以让daemon进程被杀掉时会被自动重启起来了。 procd提供了很多很方便的特性。例如如果你想要监控你的uci config文件的话,只需要实现service_triggers函数: service_triggers() {
procd_set_param command /usr/bin/python /muxiu/muxiu/muxiu/test.py # 全部关联的文件必须是绝对路径,否则会找不到文件 procd_set_param respawn procd_close_instance } stop_service() { # 停止服务 local process_pid="" process_pid=`ps -w | grep -w "/muxiu/muxiu/muxiu/test.py" | grep...