Linux主控程序
系统大全为您提供
6.1、Liunx程序的整体思路
init进程是Linux内核启动的第一个进程,它是后续所有进程的发起者。本系统的init进程为指向rc进程的链接,因此rc进程为主进程,是进入内核首先运行的程序,做初始,在主进程程序中再启动其它子进程。挂起等待进程信号。
子进程通过发信号通知主进程、主进程收到信号后做某些事物处理或启动或关闭其它子进程。此外有些进程之间是通过socket套接字进行通信。
对于有些进程是程序运行一次即退出,有些进程是程序一直循环运行。
6.1、rc程序
主进序名为rc,init、ip-up、ip-down、dtu-dns、start_watchdog、start-lan、stop-lan、start_timer等这些进程都是指向rc的连接,当运行这些进程时rc进程根据进程参数判断执行哪些处理程序,
如果运行的是init指示符,则进入RC主循环执行。
6.3、初始化运行环境
主循环包括以下几部分的初始化:
1、系统初始化
挂载系统相关目录
所有设备结点的生成
挂载flash分区相关目录
创建参数文件的链接
创建相关目录
设备参数初始化
控制台初始化
内核模块载入
时区设置、系统时间与硬件同步
内置硬件看门狗启动
外置硬件看门狗启动
2、GPIO初始化
打开关闭相关指示灯、打开模块电源、关闭子板电源
关闭不用的GPIO
打开子板电源
各模块初始化
3、局域网开启
4、信号初始化
信号初始化
注册信号
5、配置文件初始化
PPP拔号相关配置文件
DTU参数配置文件
网控器参数配置文件
电话或短信触发配置文件
ICMP检测配置文件
DNS检测配置文件
DDNS参数配置文件
维护通道参数配置文件
6.4、运行各种进程
1、开启TCP本地server
开启流程如下图所示:
图6.2 本地server进程流程图
2、开启各种服务
Httpd服务器开启
DTU客户端连接开启
Dhcpd服务开启
Telnet服务开启
监视重复进程数量服务开启
流量统计开启
6.5、确保PPPD进程正确运行
1、运行pppd之前先判断模块接口是否可以正常打开,如果打开异常则重启系统。
2、运行pppd后每隔1秒判断是否生成/tmppnk.文件,在超时时间内没生成则重新拨号。
3、重新运行pppd前要对模块做复位处理,断开pppd连接避免上次运行的pppd没退出。
4、pppd拨号成功开启网络测试功能,避免pppd自身检测不到掉线。
6.6、运行至循环处理
主程序初始化完毕,相关服务开启后开始进入主循环处理,主循环中开始拨号上线及上线后的各种处理,最后空闲挂起等待事件信号。主循环主要是监控PPPD和WAN是否有异常,发现异常则做相应的处理,处理流程如下图所示:
图6.3 主进程主循环流程图
如上面的流程图可以看出,主循环是一个状态机。当有进程发来信号时,信号处理函数改变状态的值,主循环跳出IDLE状态,到RESTART,或STOP状态,再次循环执行,最后稳定到空闲状态。常见的是当PPPD下线运行ip-down进程,该进程发信号给主进程,主进程到RESTART状态。主程序重新运行拨号处理。
6.7、信号的使用
信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通常信号是由一个错误产生的。但它们还可以作为进程间通信或修改行为的一种方式,明确地由一个进程发送给另一个进程。一个信号的产生叫生成,接收到一个信号叫捕获。
需要包含的头文件:#include <signal.h>
信号的使用包括以下步骤:
1、注册一个信号。
例如:signal(SIGHUP, rc_signal);
2、信号处理函数。
static void rc_signal(int sig)
{
……
if (sig == SIGHUP) {
syslog(6,"signalling RESTART ");
signalled = RESTART;
}
……
}
3、发送信号
以上就是系统大全给大家介绍的如何使的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击系统大全官网吧。
本文来自系统大全http://www.win7cn.com/如需转载请注明!推荐:win7纯净版
相关文章
- WorkBuddy 下载地址分享:腾讯版 “小龙虾”一键获取
- 阿里版 “OpenClaw 龙虾” 开启内测,无影 JVS 更名为 JVS Claw
- 腾讯版 “小龙虾” WorkBuddy 正式上线,兼容 OpenClaw 技能
- 微软 Win11 文件资源管理器将迎来更多圆角设计
- Win11 新增 “节能器” 菜单,支持一键切换深色 / 浅色模式
- 微软放缓新版 Outlook 企业强制迁移,延后至 2027 年 3 月
- Epic 喜加二!《大头菜小子抢银行》《遗忘国度之闲置冠军》免费领
- 英伟达发布 595.76 热修复驱动,解决显卡超频电压受限问题
- NVIDIA 发布 595.71 显卡驱动!附下载地址
- 微软扩大 Win11 彩色电池图标推送,电量状态一目了然
系统下载排行榜71011xp
番茄花园 Win7 64位 快速稳定版
2【纯净之家】Windows7 32位 全新纯净版
3【纯净之家】Win7 64位 Office2007 办公旗舰版
4【雨林木风】Windows7 64位 装机旗舰版
5JUJUMAO Win7 64位旗舰纯净版
6【电脑公司】Windows7 64位 免费旗舰版
7【纯净之家】Windows7 SP1 32位 全补丁旗舰版
8【深度技术】Windows7 64位 官方旗舰版
9【游戏专用】Windows7 64位 装机旗舰版
10【番茄花园】Windows7 64位 旗舰装机版
【纯净之家】Windows10 22H2 64位 企业版
2JUJUMAO Win10 X64 极速精简版
3【深度技术】 Win10 64位国庆特别版
4【雨林木风】Windows10 64位 专业精简版
5【深度技术】Windows10 64位 专业精简版
6【纯净之家】Windows10 32位 官方正式版
7【雨林木风】Windows10 64位稳定版系统
8【番茄花园】Windows10 64位 专业版镜像
9【技术员】Windows10 64位 系统纯净版
10【雨林木风】Windows10 64位 官方专业版
【纯净之家】Windows11 23H2 64位 游戏优化版
2【纯净之家】Windows11 23H2 64位 纯净专业版
3【纯净之家】Windows11 23H2 64位 企业版
4【纯净之家】Windows11 23H2 64位 中文家庭版
5风林火山Windows11下载中文版(24H2)
6【纯净之家】Windows11 23H2 64位专业精简版
7JUJUMAO Win11 24H2 64位 专业版镜像
8JUJUMAO Win11 24H2 64位 精简版镜像
9【纯净之家】Windows11 23H2 64位 纯净家庭版
10雨林木风 Win11 25H2 超级纯净版系统
深度技术 GHOST XP SP3 电脑专用版 V2017.03
2深度技术 GGHOST XP SP3 电脑专用版 V2017.02
3萝卜家园 GHOST XP SP3 万能装机版 V2017.03
4番茄花园 GHOST XP SP3 极速体验版 V2017.03
5Win7系统下载 PCOS技术Ghost WinXP SP3 2017 夏季装机版
6雨林木风 GHOST XP SP3 官方旗舰版 V2017.03
7萝卜家园 GHOST XP SP3 完美装机版 V2016.10
8电脑公司 GHOST XP SP3 经典旗舰版 V2017.03
9雨林木风GHOST XP SP3完美纯净版【V201710】已激活
10雨林木风 GHOST XP SP3 精英装机版 V2017.04
热门教程
装机必备 更多+
重装工具