本申请涉及嵌入式设备维护,尤其涉及一种嵌入式设备运行进程的维护方法、装置及电子设备。
背景技术:
1、嵌入式系统在汽车、医疗设备、智能家居和工业自动化等领域都显示出广阔的应用前景,例如,在汽车行业中,随着智能驾驶技术的发展,嵌入式系统被用于车载娱乐、导航和安全监控等方面,在医疗设备领域,嵌入式系统用于实时监测和数据采集,提高设备的效率和准确性,此外,智能家居和工业自动化也是嵌入式系统的重要应用领域。
2、随着嵌入式设备的交付使用,技术更新迭代,设备的稳定运行属于设备厂家必须考虑的问题,现有技术对于嵌入式设备启动,一般启动以后不进行监测,运行后,任由其运行,在某种程度上来说,存在很大的风险,一些意外情况,如一些错误信息帧,意外触发程序终止,产生段错误,则会导致设备瘫痪,影响用户使用。
技术实现思路
1、有鉴于此,本申请的目的在于至少提供一种嵌入式设备运行进程的维护方法、装置及电子设备,通过创建子进程与异常信号处理器,在嵌入式设备发生异常时,重启设备,保证设备稳定运行。
2、本申请主要包括以下几个方面:
3、第一方面,本申请实施例提供一种嵌入式设备运行进程的维护方法,方法包括:在嵌入式设备主程序对应的目标运行进程中创建对应的子进程;在子进程中,调用预设运维策略来创建对应的异常启动函数;通过预设信号捕捉机制对子进程运行状态进行监测;当监测到子进程异常终止时,运行异常启动函数,重新启动嵌入式设备。
4、在一种可能得实施方式中,方法还包括:调用预设运维策略来创建对应的异常启动函数之前,调用fork函数在目标运行进程中创建对应的子进程;判断子进程是否创建成功;若子进程创建成功,则在子进程中,调用预设运维策略来创建对应的异常启动函数;若子进程创建失败,则退出子进程创建。根据权利要求1的方法,调用预设运维策略来创建对应的异常启动函数的步骤包括:调用fork函数创建与子进程对应的孙子进程;判断孙子进程是否创建成功;若孙子进程创建成功,则在孙子进程中创建异常启动函数。
5、在一种可能得实施方式中,预设信号捕捉机制包括:以进程等待的方式监测子进程所反馈的运行状态信号;若运行状态信号为sigchld信号,则确定子进程发生异常终止。
6、在一种可能得实施方式中,在子进程中,调用预设运维策略来创建对应的异常启动函数之后,方法还包括:创建并注册异常信号处理器;当监测到子进程异常终止时,调用和异常信号处理器对子进程所产生的异常进行处理。
7、在一种可能得实施方式中,通过以下方式创建异常信号处理器:创建一信号处理结构体,信号处理结构体用于定义对子进程所发生的异常的处理方式;在信号处理结构体执行以下处理:将异常终止信号集初始化为空集,设置信号处理标志为0,在信号处理结构体中添加自定义异常处理函数,自定义异常处理函数在接收到sigchld信号时被调用;创建信号处理结构体对应的声明信息,声明信息包括自定义异常处理函数所要处理的sigchld信号和指向信号处理结构体的指针;由处理后的信号处理结构形成异常信号处理器。
8、在一种可能得实施方式中,异常信号处理器用于处理子进程中发生的不同类型的异常,其中,通过以下方式对子进程所产生的异常进行处理:当监测到子进程异常终止时,获取子进程对应的异常终止信息,异常终止信息指示了子进程所发生的目标异常类型;更新异常终止信号集和信号处理标志位;利用自定义异常处理函数根据目标异常类型使用对应的异常处理策略完成对子进程所产生异常的处理。
9、在一种可能得实施方式中,异常启动函数包括内存映像切换函数和重启函数;其中,通过以下方式实现对嵌入式设备的重新启动:通过内存映像切换函数将目标运行进程对应的当前进程映像替换为嵌入式设备主程序对应的可执行文件;通过重启函数重新启动并运行可执行文件,以实现对嵌入式设备的重新启动。
10、第二方面,本申请实施例还提供一种嵌入式设备运行进程的维护装置,装置包括:子进程创建模块,用于在嵌入式设备主程序对应的目标运行进程中创建对应的子进程;异常启动函数创建模块,用于在子进程中,调用预设运维策略来创建对应的异常启动函数;监测模块,用于通过预设信号捕捉机制对子进程运行状态进行监测;重启模块,用于当监测到子进程异常终止时,运行异常启动函数,重新启动嵌入式设备。
11、第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,存储器存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储器之间通过总线进行通信,机器可读指令被处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中的嵌入式设备运行进程的维护方法的步骤。
12、本申请实施例提供的一种嵌入式设备运行进程的维护方法、装置及电子设备,包括:在嵌入式设备主程序对应的目标运行进程中创建对应的子进程;在子进程中,调用预设运维策略来创建对应的异常启动函数;通过预设信号捕捉机制对子进程运行状态进行监测;当监测到子进程异常终止时,运行异常启动函数,重新启动嵌入式设备。本申请通过创建子进程与异常信号处理器,在嵌入式设备发生异常时,重启设备,保证设备稳定运行。
13、为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
1.一种嵌入式设备运行进程的维护方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,调用预设运维策略来创建对应的异常启动函数的步骤包括:
4.根据权利要求1所述的方法,其特征在于,预设信号捕捉机制包括:
5.根据权利要求1所述的方法,其特征在于,在所述子进程中,调用预设运维策略来创建对应的异常启动函数之后,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,通过以下方式创建所述异常信号处理器:
7.根据权利要求5所述的方法,其特征在于,所述异常信号处理器用于处理子进程中发生的不同类型的异常,
8.根据权利要求4所述的方法,其特征在于,所述异常启动函数包括内存映像切换函数和重启函数;
9.一种嵌入式设备运行进程的维护装置,其特征在于,所述装置包括:
10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至8任一所述的嵌入式设备运行进程的维护方法的步骤。
