使用procd执行进程
来源:互联网 发布:娇韵诗瘦脸精华 知乎 编辑:程序博客网 时间:2024/04/29 08:44
在openwrt系统内init进程被procd取代,procd作为父进程可以监控子进程的状态。一旦子进程退出后即可在某一个时刻尝试进行重启进程。在op系统内使用procd监控的有uhttpd,netifd等。在/etc/init.d/文件夹内带有USE_PROCD=1标志,下面就介绍如何让procd启动某一个应用程序 我的应用程序名是binloader, 直接上脚本代码
#!/bin/sh /etc/rc.common# Copyright (C) 2008 OpenWrt.org START=98#执行的顺序,按照字符串顺序排序并不是数字排序USE_PROCD=1#使用procd启动BINLOADER_BIN="/usr/bin/binloader"start_service() {procd_open_instance#创建一个实例, 在procd看来一个应用程序可以多个实例#ubus call service list 可以查看实例procd_set_param respawn#定义respawn参数,告知procd当binloader程序退出后尝试进行重启procd_set_param command "$BINLOADER_BIN"# binloader执行的命令是"/usr/bin/binloader", 若后面有参数可以直接在后面加上procd_close_instance#关闭实例}#start_service 函数必须要重新定义stop_service() {rm -f /var/run/binloader.pid}#stop_service重新定义,退出服务器后需要做的操作restart() {stopstart}
必须指出来的是,被procd执行的程序不能是daemon后台程序,因为后台程序的主进程退出后在procd看来就是程序退出了,然后会进入respawn流程,之后重复启动和退出。
最后失效了
procd: Instance binloader::instance1 s in a crash loop 6 crashes, 0 seconds since last crash
0 0
- 使用procd执行进程
- procd
- 基于PROCD的init脚本
- 使用VC创建进程和执行命令行程序的方法
- 使用linux的cron进程定时执行java程序
- c#-- 使用Process类杀死进程,执行命令等
- 终止进程执行----杀死进程
- 如何当使用kill命令结束Java进程时,通知正在执行的Java进程
- Openwrt /lib/functions/procd.sh脚本
- OpenWRT添加物理按键(procd,ar71xx)
- OpenWrt的中procd自己脚本编写
- 判断进程时候执行。
- 执行进程间切换
- linux后台执行进程
- 进程的执行过程
- 执行进程间切换
- 执行进程间切换
- 收集进程执行信息
- MyBatis第七步、实现Mybatis分页
- c++快速读取文件一些静态变量的值
- Neo4j学习笔记(一)初识Neo4j
- VC6不支持强类型枚举
- 匿名类+匿名方法
- 使用procd执行进程
- logback日志简单整理
- mysql Connector C/C++ 多线程封装
- usb基础知识
- MyBatis第八步、动态SQL语句
- 字符串(面试)
- JavaScript之闭包
- 一个简单的linux命令——cat
- 名企笔试:淘宝2017校园实习(虚拟机问题)