[发明专利]一种程序监测方法、装置、片上系统及存储介质有效
申请号: | 201910610708.1 | 申请日: | 2019-07-08 |
公开(公告)号: | CN110389878B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 郑立军 | 申请(专利权)人: | 东软集团股份有限公司;东软集团(大连)有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 赵晓荣 |
地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 监测 方法 装置 系统 存储 介质 | ||
本申请公开了一种程序监测方法、装置、片上系统及存储介质。方法应用于车辆上的片上系统,片上系统运行Linux系统。首先接收Linux系统的系统启动器systemd发送的启动指令;当根据启动指令启动成功时,监测待监测程序输出的进程标识符pid文件。待监测程序无法由systemd启动并管理。当待监测程序发生异常(如发生死锁、崩溃等状况)时其输出的pid文件将会消失。因pid文件携带待监测程序的唯一标识,故当监测到携带某唯一标识的pid文件消失时,即可确定该唯一标识对应的待监测程序发生异常。该方法不变更既有的程序启动逻辑便可及时获知非systemd启动的程序的异常状况,提升系统中各程序运行的安全性。
技术领域
本申请涉及程序监测技术领域,特别是涉及一种程序监测方法、装置、片上系统及存储介质。
背景技术
随着车辆功能的逐渐丰富,目前,车辆提供的很多服务可以依托于Linux系统实现,例如导航服务和视频播放服务等。systemd是Linux系统中的系统启动器,通常是Linux内核发起的首个程序,为Linux系统提供程序启动服务。此外,systemd也可作为系统管理器,为Linux系统提供程序管理服务。
然而通常情况下,systemd只能管理自身启动的程序,Linux系统中还存在一些非systemd启动的程序,例如摄像应用程序和收音机应用程序等,这些程序由于快速启动的要求,不用systemd进行管理,是非systemd启动的程序。
目前存在的问题是,当非systemd启动的程序发生异常,例如死锁、崩溃或退出时,由于systemd不能对其进行管理,故无法通过systemd获知非systemd启动的程序发生异常。
发明内容
基于上述问题,本申请提供了一种程序监测方法、装置、片上系统及存储介质,以及时获知非systemd启动的程序的异常状况。
本申请实施例公开了如下技术方案:
第一方面,本申请提供一种程序监测方法,应用于车辆上设置的片上系统SOC,所述SOC运行Linux系统,所述方法包括:
接收所述Linux系统的系统启动器systemd发送的启动指令;
当根据所述启动指令启动成功时,监测待监测程序输出的进程标识符pid文件;所述待监测程序为非所述systemd启动的程序;所述pid文件携带所述待监测程序的唯一标识;
当根据所述唯一标识监测到所述pid文件消失时,确定所述待监测程序发生异常。
可选地,在所述确定所述待监测程序发生异常之后,还包括:
重新启动所述待监测程序。
可选地,方法还包括:
当监测到所述pid文件被创建时,确定所述待监测程序被成功启动。
可选地,在所述监测待监测程序输出的进程标识符pid文件,之前还包括:
读取systemd目录中环境变量携带的待监测程序的名称;
根据所述名称确定对应的待监测程序。
可选地,所述监测待监测程序输出的进程标识符pid文件,具体包括:
通过所述Linux系统的inotify机制监测待监测程序输出的进程标识符pid文件。
第二方面,本申请提供一种程序监测装置,应用于车辆上设置的片上系统SOC,所述SOC运行Linux系统,所述装置包括:
启动指令接收模块,用于接收所述Linux系统的系统启动器systemd发送的启动指令;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司;东软集团(大连)有限公司,未经东软集团股份有限公司;东软集团(大连)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910610708.1/2.html,转载请声明来源钻瓜专利网。