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纯净版
相关文章
- win11如何添加控制面板?win11控制面板快捷方式添加方法
- win11如何设置绿色护眼模式?win11绿色护眼模式开启教程
- win11开始菜单怎么固定软件?win11开始菜单固定软件设置方法
- win10不显示新安装硬盘怎么办?win10新安装硬盘找不到解决方法
- win10分辨率无法设置怎么办?win10分辨率不能修改解决方法
- win10如何修改开机问候语?win10系统开机问候语更改教程
- win7电脑怎么整理磁盘碎片?win7系统磁盘碎片整理操作方法
- win7系统修改用户名后无法登录账号怎么解决?
- 360浏览器如何开启桌面搜索栏?360浏览器桌面搜索栏启动教程
- Word怎么切换成正常模式?Word兼容模式修改为正常模式教程
系统下载排行榜71011xp
番茄花园 GHOST WIN7 SP1 X64 快速稳定版 V2017.03 (64位
2深度技术 GHOST WIN7 SP1 X64 稳定安全版 V2017.02(64位
3雨林木风 GHOST WIN7 SP1(32位)装机版 V2017.03
4深度技术 GHOST WIN7 SP1 X86 专业装机版 V2017.03(32位
5电脑公司 GHOST WIN7 SP1 X86 经典旗舰版 V2017.03(32位
6深度技术 GHOST WIN7 SP1 X86 稳定安全版 V2017.02
7深度技术 GHOST WIN7 SP1 X64 专业装机版 V2017.03(64位
8电脑公司 GHOST WIN7 SP1 X64 经典旗舰版 V2017.03(64位
9电脑公司 GHOST WIN7 SP1 X64 新春贺岁版 V2017.02(64位
10电脑公司 GHOST WIN7 SP1 X86 新春贺岁版 V2017.02(32位
win10系统下载 Win10 1607 精简安装版 LTSB长期服务版
2Win10专业工作站版最新镜像 V2022.06
3微软原版Win10 ISO镜像64位(win10纯净版)
4深度技术 Ghost Win10 64位 国庆特别版 V2021.10
5电脑公司Ghost Win10 64位装机版V2017.03
6雨晨 Win10 1703 15063.250 64位 极速精简版
7JUJUMAO Win8.1 Up3 X64 极速精简版v2019.11
8win10系统下载 稳安快 Win10 x64 极速精简版 V1.0
9lopatkin Win10专业精简版 V2022.05
10Win10 21H2 纯净版镜像 V2021
Win11PE网络纯净版 V2021
2风林火山 Ghost Win11 64位 专业正式版 V2021.10
3Win11官方纯净版 V2021
4Win11 23H2 25115 官方原版镜像 V2022.05
5新一代系统 JUJUMAO Win11专业版 64位 v2021.08
6雨林木风 Ghost Win11 64位 正式版 V2021.10
7微软MSDN原版Win11系统 V2021
8Win11 22000.282正式版镜像 V2021.10
9深度技术 Ghost Win11 64位 专业版 V2021.10
10微软Win11游戏系统 V2021.10
深度技术 GHOST XP SP3 电脑专用版 V2017.03
2深度技术 GGHOST XP SP3 电脑专用版 V2017.02
3Win7系统下载 PCOS技术Ghost WinXP SP3 2017 夏季装机版
4萝卜家园 GHOST XP SP3 万能装机版 V2017.03
5番茄花园 GHOST XP SP3 极速体验版 V2017.03
6雨林木风 GHOST XP SP3 官方旗舰版 V2017.03
7电脑公司 GHOST XP SP3 经典旗舰版 V2017.03
8雨林木风GHOST XP SP3完美纯净版【V201710】已激活
9萝卜家园 GHOST XP SP3 完美装机版 V2016.10
10雨林木风 GHOST XP SP3 精英装机版 V2017.04
热门教程
装机必备 更多+
重装工具