一种可以动态调整监控的android服务及进程并动态调整对应处理机制的方法技术

技术编号:22466998 阅读:20 留言:0更新日期:2019-11-06 10:53
本发明专利技术公开了一种可以动态调整监控的android服务及进程并动态调整对应处理机制的方法,该方法包括以下步骤:一、android系统开机启动;二、监控程序自启动运行;三、读取配置文件内的服务及进程列表并添加到监控列表;四、监控程序根据监控列表开始监控服务及进程状态;五、查找对应的响应程序名;六、执行响应程序;七、响应程序的实现,响应程序可以实现包括抓取打印、保存日志的功能。本发明专利技术用于android系统中,通过该方法,可以提高对android系统服务及进程未启动或者挂死这类问题的调试效率,可以更灵活的调整这类问题的应对方法。

A method to dynamically adjust the monitored Android services and processes and the corresponding processing mechanism

【技术实现步骤摘要】
一种可以动态调整监控的android服务及进程并动态调整对应处理机制的方法
本专利技术涉及android系统领域,尤其是一种可以动态调整监控的android服务及进程并动态调整对应处理机制的方法。
技术介绍
Android是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google(谷歌)公司和开放手机联盟领导及开发。Android操作系统最初由AndyRubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表等。Android的系统架构和其操作系统一样,采用了分层的架构。Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。Android开发四大组件分别是:活动(Activity):用于表现功能。服务(Service):后台运行服务,不提供界面呈现。广播接收器(BroadcastReceiver):用于接收广播。内容提供商(ContentProvider):支持在多个应用中存储和读取数据,相当于数据库。Service(服务)是android系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service是没有界面的长生命周期的代码。Service是一种程序,它可以运行很长时间,但是它却没有用户界面。这么说有点枯燥,来看个例子。打开一个音乐播放器的程序,这个时候若想上网了,那么,打开Android浏览器,这个时候虽然已经进入了浏览器这个程序,但是,歌曲播放并没有停止,而是在后台继续一首接着一首的播放。其实这个播放就是由播放音乐的Service进行控制。当然这个播放音乐的Service也可以停止,例如,当播放列表里边的歌曲都结束,或者用户按下了停止音乐播放的快捷键等。Service可以在和多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录地理信息位置的改变等等,总之服务嘛,总是藏在后头的。在Android里,进程完全是应用的实现细节,而不是用户通常了解的那样。其主要用途就是:通过安置不受信任的或不稳定的代码到另一个进程来提高稳定性或安全性。通过在同一进程里运行多个.apks的代码来减少开销。通过把重量级代码放在单独的进程中来帮助系统管理资源,该进程可以在不影响应用程序其他部分的情况下被终止。Android系统的服务和进程未启动或者挂死之后,往往无法及时有效的处理,为了克服现有技术的缺陷,需要设计一种可以动态调整监控的android服务及进程并动态调整对应处理机制的方法。
技术实现思路
为了克服现有技术中的缺陷,提供一种可以动态调整监控的android服务及进程并动态调整对应处理机制的方法。本专利技术通过下述方案实现:一种可以动态调整监控的android服务及进程并动态调整对应处理机制的方法,该方法包括以下步骤:一、android系统开机启动;二、监控程序自启动运行;三、读取配置文件内的服务及进程列表并添加到监控列表,启动线程实用linux提供的inotify接口对配置文件进行实时检测,当文件被修改时,内核把文件的修改触发给inotify文件描,线程read文件描述符,即可知道是文件被修改了,此时通过进程间通信告诉主进程读取文件内容,更新监控列表;若配置文件内容为空,则监控列表也为空,监控程序循环超时检测监控列表;四、监控程序根据监控列表开始监控服务及进程状态;先判断需要监控是服务还是进程,监控列表里会记录是服务还是进程,如果是服务,则通过IServiceManager的checkService接口进行查询,如果查不到则说明该服务挂掉,可以触发响应程序;如果是进程,有两种情况,一种是进程挂死后不存在,一种是进程一直挂死重启,这种情况进程pid会变;五、监控到有服务或者进程挂死,根据服务或者进程名在配置文件中查找对应的响应程序名;六、将响应程序放到deviceinfo分区下,并设置环境变量,响应程序变为类似cd、ls的shell命名,那么程序直接通过调用system接口,可以执行响应程序;所以上一步如果查找到响应程序名,那么则通过system函数启动响应程序做相应处理,若未找到则不做处理;七、响应程序的实现,响应程序可以实现包括抓取打印、保存日志的功能。步骤三中,所述配置文件内置在android系统中,可为空,为空则不对任何服务和进程进行监控。步骤四中,通过server–list命名可以看到的服务。步骤四中,根据进程的pid会变的特性进行处理,具体分为两步:第一,因为每个进程都在/proc/目录下存在自己pid同名目录下的cmdline是进程名,通过将监控列表中的进程名与proc下所有cmdline对比,如果有一致的,说明进程存在,并且记录pid;如果对比所有,都不一致,说明进程已经挂死不存在,则触发响应程序;第二,将监控列表中的所有进程都查找一遍后,进行第二遍查找,查找到后将pid与上一次记录的pid对比,如果一致,说进程正常,如果不一致,说明进程挂死重启,那么触发响应程序。在步骤五中,配置文件包括三个属性:(1)需要监控的服务及进程名,(2)标识是监控类型是服务还是进程,(3)对应的响应程序名,该配置文件内置在android系统中,可以通过网络下载或者升级的方式去修改,从而达到动态调整监控服务及进程。本专利技术的有益效果为:本专利技术一种可以动态调整监控的android服务及进程并动态调整对应处理机制的方法用于android系统中,在不需要修改程序的情况下,动态调整需要监控服务和进程,当监控到服务和进程未启动或者挂死之后,通过更新响应程序达到动态调整对应处理机制(比如抓取打印,保存日志,上报异常等),通过该方法,可以提高对android系统服务及进程未启动或者挂死这类问题的调试效率,可以更灵活的调整这类问题的应对方法。具体实施方式下面对本专利技术优选的实施例进一步说明:一种可以动态调整监控的android服务及进程并动态调整对应处理机制的方法,该方法包括以下步骤:一、android系统开机启动;二、监控程序自启动运行;三、读取配置文件内的服务及进程列表并添加到监控列表,启动线程实用linux提供的inotify接口对配置文件进行实时检测,当文件被修改时,内核把文件的修改处发给inotify文件描,线程read文件描述符,即可知道是文件被修改了,此时通过进程间通信告诉主进程读取文件内容,更新监控列表;若配置文件内容为空,则监控列表也为空,监控程序循环超时检测监控列表;四、监控程序是负责对服务及进程监控的具体逻辑实现。监控程序根据监控列表开始监控服务及进程状态;先判断需要监控是服务还是进程,监控列表里会记录是服务还是进程,如果是服本文档来自技高网
...

【技术保护点】
1.一种可以动态调整监控的android服务及进程并动态调整对应处理机制的方法,其特征在于,该方法包括以下步骤:一、android系统开机启动;二、监控程序自启动运行;三、读取配置文件内的服务及进程列表并添加到监控列表,启动线程实用linux提供的inotify接口对配置文件进行实时检测,当文件被修改时,内核把文件的修改触发给inotify文件描,线程read文件描述符,即可知道是文件被修改了,此时通过进程间通信告诉主进程读取文件内容,更新监控列表;若配置文件内容为空,则监控列表也为空,监控程序循环超时检测监控列表;四、监控程序根据监控列表开始监控服务及进程状态;先判断需要监控是服务还是进程,监控列表里会记录是服务还是进程,如果是服务,则通过IServiceManager的checkService接口进行查询,如果查不到则说明该服务挂掉,可以触发响应程序;如果是进程,有两种情况,一种是进程挂死后不存在,一种是进程一直挂死重启,这种情况进程pid会变;五、监控到有服务或者进程挂死,根据服务或者进程名在配置文件中查找对应的响应程序名;六、将响应程序放到deviceinfo分区下,并设置环境变量,响应程序变为类似cd、ls的shell命名,那么程序直接通过调用system接口,可以执行响应程序;所以上一步如果查找到响应程序名,那么则通过system函数启动响应程序做相应处理,若未找到则不做处理;七、响应程序的实现,响应程序可以实现包括抓取打印、保存日志的功能。...

【技术特征摘要】
1.一种可以动态调整监控的android服务及进程并动态调整对应处理机制的方法,其特征在于,该方法包括以下步骤:一、android系统开机启动;二、监控程序自启动运行;三、读取配置文件内的服务及进程列表并添加到监控列表,启动线程实用linux提供的inotify接口对配置文件进行实时检测,当文件被修改时,内核把文件的修改触发给inotify文件描,线程read文件描述符,即可知道是文件被修改了,此时通过进程间通信告诉主进程读取文件内容,更新监控列表;若配置文件内容为空,则监控列表也为空,监控程序循环超时检测监控列表;四、监控程序根据监控列表开始监控服务及进程状态;先判断需要监控是服务还是进程,监控列表里会记录是服务还是进程,如果是服务,则通过IServiceManager的checkService接口进行查询,如果查不到则说明该服务挂掉,可以触发响应程序;如果是进程,有两种情况,一种是进程挂死后不存在,一种是进程一直挂死重启,这种情况进程pid会变;五、监控到有服务或者进程挂死,根据服务或者进程名在配置文件中查找对应的响应程序名;六、将响应程序放到deviceinfo分区下,并设置环境变量,响应程序变为类似cd、ls的shell命名,那么程序直接通过调用system接口,可以执行响应程序;所以上一步如果查找到响应程序名,那么则通过system函数启动响应程序做相应处理,若未找到则不做处理;七、响应程序的实现,响应程序可以实现包括抓取打印、保存日志的功能。2.根据权利要求1所...

【专利技术属性】
技术研发人员:林立伟
申请(专利权)人:深圳市易汇软件有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1