本发明涉及机电设备领域,尤其涉及一种通讯管理机的进程维护方法。
背景技术:
1、嵌入式软件可靠性设计是一个非常关键的领域,因为它涉及到许多关键的工业和商业应用;在这个领域,编程要点是非常重要的,因为它们能够确保嵌入式系统的可靠性和稳定性;嵌入式系统应用要求一般较为苛刻,特别是在涉及安全相关的领域,如汽车电子、工业控制、航空航天等,这些领域的嵌入式系统不仅要求硬件可靠,还对嵌入式软件提出了更高的要求;嵌入式软件需要运行可靠、稳定,具有错误处理及故障恢复等功能,现有嵌入式软件普遍面临稳定性的考验,长期运行后发生程序崩溃、进程挂死等问题,网口切换不能做到热备切换,且往往还有ip冲突等问题。
2、综上所述,需要一种通讯管理机的进程维护方法来解决现有技术中所存在的不足之处。
技术实现思路
1、针对现有技术的不足,本发明提供了一种通讯管理机的进程维护方法,旨在解决上述问题。
2、为实现上述目的,本发明提供如下技术方案:一种通讯管理机的进程维护方法,包括系统组态软件、通讯管理机,通讯管理机内有守护进程和子进程,具体包括以下步骤:
3、步骤s1:启动守护进程,守护进程创建子进程;
4、步骤s2:守护进程实时检测子进程的状态,判断进程是否异常;
5、步骤s3:守护进程检测到异常进程,重启异常进程;
6、步骤s4:异常进程重启后,判断是否需要退出程序,需要退出程序时,退出程序,释放程序占用的资源。
7、可选的,所述步骤s1中守护进程创建子进程具体为:
8、步骤s11:首先设置sigusr1、sigterm、sigchld信号的处理函数,sigusr1和sigterm信号用于处理退出进程的请求,收到信号后,设置全局变量g_signal_count为重启值,用于通知其他线程;sigchld信号用于防止子进程结束时产生僵尸进程。
9、步骤s12:初始化全局变量,让全局变量处于确定的状态;
10、步骤s13:初始化gpio的中断方式,每隔指定时间触发一次gpio中断;
11、步骤s14:读取数据库文件,创建共享内存,共享内存用于与其他进程进行数据交互的手段,然后读取snet地址、cnet地址并写入到共享内存中, snet用于与组态工程软件通讯,cnet与io通讯;
12、步骤s15:创建fork出子进程、父进程退出,开始创建进程1、进程2、进程3...进程n,直至所有子进程创建完毕。
13、可选的,所述步骤s2中守护进程实时检测子进程具体为:
14、步骤s21:先启动被依赖进程,再启动依赖进程,注册被依赖进程的通讯消息服务名称;
15、步骤s22:进入守护进程实时检测子进程的循环,通过向各个进程发送0信号来检测各个进程状态,判断子进程是否有异常。
16、可选的,所述步骤s3中异常进程重启具体为:
17、步骤s31:异常进程重启之前,将异常进程的资源备份并保存,得到备份资源;
18、步骤s32:重启异常进程,异常进程重启之后,读取备份资源,并将备份资源恢复到重启的进程中。
19、可选的,所述步骤s4具体为:
20、步骤s41:检测g_signal_count全局变量,判断是否为重启值;
21、步骤s42:若是则守护进程需要退出,先释放资源,再退出守护进程,若无则进行下一次循环。
22、可选的,通讯管理机包括主管理机和从管理机,主管理机和从管理机接入同一网络,所述主管理机和从管理机均设置两个以太网口:网口a和网口b,所述主管理机的网口a和从管理机的网口a互为冗余,主管理机的网口b和从管理机的网口b互为冗余。
23、可选的,所述系统组态软件对主管理机和从管理机可进行配置ip,具体步骤为:
24、步骤s71:打开modbustcp的配置文件,将ip配置到网口;
25、步骤s72:打开守护进程,创建共享内存,从中取出snet地址,创建接收、发送套接字,与系统组态软件通讯;
26、步骤s73:等待系统组态软件下发modbustcp的配置文件,组态软件下发配置后,判断ip是否发生变化,若改变则打开配置文件,将ip修改到文件中。
27、可选的,所述网口互为冗余的冗余切换具体为:主设备的网口始终工作,提供modbustcp服务,接收外部设备的访问,从设备的网口不工作,网口处于关闭状态,主管理机和从管理机发生主从切换时,切换为从设备的网口转为关闭状态,不工作,切换为主设备的网口被打开,转为工作状态,提供modbustcp服务,接收外部设备的访问。
28、可选的,所述主管理机和从管理机发生主从切换的具体步骤为:
29、步骤s91:接收系统组态软件的modbustcp配置文件,从modbustcp配置文件中读取ip地址,配置到网口;
30、步骤s92:进入循环,检测是否发生主备切换,若未发生主备切换,自身是主则打开网口;自身是备关闭网口;
31、若发生主备切换,由从切为主时,启动网口,配置的ip生效,提供modbustcp服务;由主切为从时,关闭网口,配置的ip失效。
32、本发明的有益效果:
33、本发明中,通过守护进程创建子进程,并且守护进程对系统上的各个进程进行实时检测,能够及时发现异常并及时采取措施;
34、本发明中,通过设置主管理机和从管理机,实现双机互为冗余,modbustcp功能无扰切换,具有一定的使用价值和推广价值。
1.一种通讯管理机的进程维护方法,其特征在于,包括系统组态软件、通讯管理机,通讯管理机内有守护进程和子进程,具体包括以下步骤:
2.根据权利要求1所述一种通讯管理机的进程维护方法,其特征在于,所述步骤s1中守护进程创建子进程具体为:
3.根据权利要求1所述一种通讯管理机的进程维护方法,其特征在于,所述步骤s2中守护进程实时检测子进程具体为:
4.根据权利要求1所述一种通讯管理机的进程维护方法,其特征在于,所述步骤s3中异常进程重启具体为:
5.根据权利要求1所述一种通讯管理机的进程维护方法,其特征在于,所述步骤s4具体为:
6.根据权利要求1所述一种通讯管理机的进程维护方法,其特征在于,通讯管理机包括主管理机和从管理机,主管理机和从管理机接入同一网络,所述主管理机和从管理机均设置两个以太网口:网口a和网口b,所述主管理机的网口a和从管理机的网口a互为冗余,主管理机的网口b和从管理机的网口b互为冗余。
7.根据权利要求6所述一种通讯管理机的进程维护方法,其特征在于,所述系统组态软件对主管理机和从管理机可进行配置ip,具体步骤为:
8.根据权利要求6所述一种通讯管理机的进程维护方法,其特征在于,网口互为冗余的冗余切换具体为:主设备的网口始终工作,提供modbustcp服务,接收外部设备的访问,从设备的网口不工作,网口处于关闭状态,主管理机和从管理机发生主从切换时,切换为从设备的网口转为关闭状态,不工作,切换为主设备的网口被打开,转为工作状态,提供modbustcp服务,接收外部设备的访问。
9.根据权利要求8所述一种通讯管理机的进程维护方法,其特征在于,所述主管理机和从管理机发生主从切换的具体步骤为: