一种程序进程保活方法、系统、装置、设备以及存储介质制造方法及图纸

技术编号:31228298 阅读:12 留言:0更新日期:2021-12-08 09:39
本发明专利技术公开了一种程序进程保活方法、系统、装置、设备以及存储介质,所述方法包括:通过守护进程服务以排它锁方式派生出第一监听进程和第二监听进程,所述第一监听进程和所述第二监听进程用于监听目标程序进程是否被结束,其中,所述目标程序进程为欲保活的程序进程;当所述目标程序进程被结束时,所述第一监听进程和/或所述第二监听进程唤醒所述目标程序进程实现所述目标程序进程保活。通过目标进程派生出来的第一监听进程和第二监听进程来监听目标进程是否被结束,即便目标进程被结束,也可以通过非自身启动的方式重新唤醒目标程序进程,以有助于解决现有技术中程序进程无法保活的技术问题。法保活的技术问题。法保活的技术问题。

【技术实现步骤摘要】
一种程序进程保活方法、系统、装置、设备以及存储介质


[0001]本专利技术涉及计算机领域,尤其是指一种程序进程保活方法、系统、装置、设备以及存储介质。

技术介绍

[0002]随着Android系统的不断升级,Android应用的权限管理以及安全策略越来越严格,应用的保活也越来越难,保活分为两种,第一种是保持进程不被结束,第二种是提升进程优先级的同时,在进程被杀后立即唤醒,现有技术中的第二种方案居多。比如,在Android6.0、7.0系统上,双进程守护能够很好的实现保活,但是在Android8.0及以后的版本则会失效。
[0003]目前保活策略的发展基本就是两个方向:一、添加白名单。二、做系统或内核级的修改,上述现有技术不能做到真正的保活,对于已经限制自启动并且强制结束的进程,如果不能在5ms的轮询间隔内唤醒,则会被彻底杀掉。现有技术中的双进程守护、一像素页面、无声音乐、空通知,监控同进程App等策略在Android9.0,Android Q上均已失效。
[0004]所以急需一种程序进程保活方法,可以确保程序进程的保活,以有助于解决现有技术中由于限制自启动后,无法实现程序进程保活的技术问题。

技术实现思路

[0005]本申请提供了一种程序进程保活方法,其目的在于,通过目标进程派生出来的第一监听进程和第二监听进程来监听所述目标程序进程是否被结束,以使即便所述目标进程被结束,也可以通过非自身启动的方式重新唤醒所述目标程序进程,以有助于解决现有技术中程序进程无法保活的技术问题。
[0006]所述方法包括:
[0007]通过守护进程服务以排它锁方式派生出第一监听进程和第二监听进程,所述第一监听进程和所述第二监听进程用于监听目标程序进程是否结束,其中,所述目标程序进程为欲保活的程序进程;
[0008]当所述目标程序进程被结束时,所述第一监听进程和/或所述第二监听进程唤醒所述目标程序进程实现所述目标程序进程保活。
[0009]在另一可选实施例中,所述通过守护进程服务以排它锁方式派生出第一监听进程和第二监听进程,所述第一监听进程和所述第二监听进程用于监听目标程序进程是否被结束,其中,所述目标程序进程为欲保活的程序进程步骤后,该方法还包括:
[0010]当所述第一监听进程被结束时,对所述第一监听进程进行解锁,其中,所述第一监听进程和所述第二监听进程相互监听是否所述第一监听进程和所述第二监听进程结束;
[0011]所述第二监听进程监听到所述第一监听进程结束时,唤醒所述第一进程。
[0012]在另一可选实施例中,所述所述第二监听进程监听到所述第一监听进程结束时,唤醒所述第一监听进程步骤后,该方法还包括:
[0013]对唤醒后的第一监听进程进行排它锁的上锁。
[0014]在另一可选实施例中,所述通过守护进程服务以排它锁方式派生出第一监听进程和第二监听进程,所述第一监听进程和所述第二监听进程用于监听目标程序进程是否被结束,其中,所述目标程序进程为欲保活的程序进程,该方法包括:
[0015]所述第一监听进程和所述第二监听进程通过排它锁分别派生出对应的第三监听进程和第四监听进程,其中,所述第三监听进程和第四监听进程相互监听是否所述第三监听进程和第四监听进程结束;
[0016]当第一监听进程和第三监听进程结束时,对所述第三监听进程进行解锁;
[0017]所述第四监听进程监听到所述第三监听进程结束时,唤醒所述第一监听进程和所述第三监听进程。
[0018]在另一可选实施例中,所述所述第四监听进程监听到所述第三监听进程结束时,唤醒所述第三监听进程步骤后,该方法还包括:
[0019]对所述第三监听进程进行排它锁的上锁。
[0020]在另一可选实施例中,所述第四监听进程唤醒所述第一监听进程步骤后,该方法还包括:
[0021]所述第一监听进程唤醒所述目标程序进程。
[0022]在另一可选实施例中,所述所述第一监听进程和所述第二监听进程通过排它锁分别派生出对应的第三监听进程和第四监听进程,其中,所述第三监听进程和第四监听进程相互监听是否所述第三监听进程和所述第四监听进程结束步骤后,该方法包括:
[0023]当所述第一监听进程或所述第二监听进程结束时,所述第一监听进程或所述第二监听进程对应的所述第三监听进程或第四监听进程托孤给预置的用户级进程管理。
[0024]在另一可选实施例中,本申请还提供了一种程序进程保活装置,该装置包括:
[0025]派生模块,用于通过守护进程服务以排它锁方式派生出第一监听进程和第二监听进程,所述第一监听进程和所述第二监听进程用于监听目标程序进程是否结束,其中,所述目标程序进程为欲保活的程序进程;
[0026]唤醒模块,用于当所述目标程序进程结束时,所述第一监听进程和/或所述第二监听进程唤醒所述目标程序进程实现所述目标程序进程保活。
[0027]在另一可选实施例中,本申请提供了一种电子设备,所述电子设备包括:处理器和存储器;
[0028]所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如所述的程序进程保活方法的步骤。
[0029]在本申请中还提供了一种计算机可读存储介质,其上存储有计算机程序,该装置包括:
[0030]该程序被处理器执行时实现所述的程序进程保活方法的步骤。
[0031]如上可见,基于上述实施例,通过守护进程服务派生出来的第一监听进程和第二监听进程来监听所述目标程序进程是否结束,即便所述目标程序进程结束,也可以通过非自身启动的方式重新唤醒所述目标程序进程,以有助于解决现有技术中程序进程无法保活的技术问题。
fork派生出JDChangLiang,以及Demon进程与MSF进程,而Demon进程与MSF进程的作用即为所述第一监听进程和所述第二监听进程的作用,监听所述目标程序是否结束,Demon进程与MSF进程分别具有flock排它锁,因此Demon进程与MSF进程只有一个进程会被影响,另一个进程将无法被影响,没有被影响的Demon进程或MSF进程则会在当所述目标程序进程结束时,所述第一监听进程和/或所述第二监听进程唤醒所述目标程序进程实现所述目标程序进程保活。即当JDChangLiang进程结束时,Demon进程或MSF进程会唤醒JDChangLiang进程实现JDChangLiang的保活。唤醒的过程为应用App在java层通过向ServiceManager查询来获取BpActivityManager代理对象,在native层继续使用框架中的IPCThreadState,然后通过native层自身实现的startService去实现数据通信,另外,在上述过程中App进程JDChangLiang自身实现了startService:与binder驱动的交互改为FLAG_ONEWAY,即异步,使callingPid=0。
[0045]为何startService()的callingPid=0?本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种程序进程保活方法,其特征在于,包括:通过守护进程服务以排它锁方式派生出第一监听进程和第二监听进程,所述第一监听进程和所述第二监听进程用于监听目标程序进程是否结束,其中,所述目标程序进程为欲保活的程序进程;当所述目标程序进程结束时,所述第一监听进程和/或所述第二监听进程唤醒所述目标程序进程实现所述目标程序进程保活。2.根据权利要求1所述的程序进程保活方法,其特征在于,所述通过守护进程服务以排它锁方式派生出第一监听进程和第二监听进程,所述第一监听进程和所述第二监听进程用于监听目标程序进程是否被结束,其中,所述目标程序进程为欲保活的程序进程步骤后,该方法还包括:当所述第一监听进程被结束时,对所述第一监听进程进行解锁,其中,所述第一监听进程和所述第二监听进程相互监听是否所述第一监听进程和所述第二监听进程结束;所述第二监听进程监听到所述第一监听进程结束时,唤醒所述第一进程。3.根据权利要求2所述的程序进程保活方法,其特征在于,所述所述第二监听进程监听到所述第一监听进程结束时,唤醒所述第一监听进程步骤后,该方法还包括:对唤醒后的第一监听进程进行排它锁的上锁。4.根据权利要求1所述的程序进程保活方法,其特征在于,所述通过守护进程服务以排它锁方式派生出第一监听进程和第二监听进程,所述第一监听进程和所述第二监听进程用于监听目标程序进程是否被结束,其中,所述目标程序进程为欲保活的程序进程步骤后,该方法包括:所述第一监听进程和所述第二监听进程通过排它锁分别派生出对应的第三监听进程和第四监听进程,其中,所述第三监听进程和第四监听进程相互监听是否所述第三监听进程和所述第四监听进程结束;当第一监听进程和第三监听进程结束时,对所述第三监听进程进行解锁;所述第四监听进程监听到所述第三监听进...

【专利技术属性】
技术研发人员:袁玉敏
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1