
技术摘要:
本公开提供了一种应用程序的多进程间的进程处理方法、装置及电子设备,该方法包括:在应用程序的主进程获取文件锁失败时,获取应用程序的各子进程的进程标识PID;基于各子进程的PID,获取每个子进程所对应的打开文件路径以及主进程所对应的打开文件路径;基于各打开文 全部
背景技术:
现有技术中的应用程序中,一般有一个主进程是用户可见的,除此之外它还有若 干个子进程做一起辅助业务。比如,子进程可以做一些耗时的后台任务,进程保活任务等, 以减少主进程的负担。 由于多进程之间有逻辑的关联性,因此资源的共享不可避免,当然也就避免不了 资源的竞争,现有技术中通常通过文件锁来解决上述竞争问题,当主进程需要访问某个共 享资源时,如果该共享资源正被某个子进程给独占,也就是说,文件锁被子进程持有,主进 程的流程就会被中断,运行发生异常,比如,如果当前主进程处在页面刷新等关键路径当 中,此时,文件锁被子进程持有,主进程可能会出现卡顿、崩溃等严重问题。由此,如何在主 进程运行异常时,及时发现主进程运行异常的原因是目前亟待解决的问题,从而可尽早恢 复主进程的正常运行状态,减少不必要的损失。
技术实现要素:
本公开的目的旨在至少能解决上述的技术缺陷之一,在主进程运行异常时,及时 发现问题所在,以使得主进程可以及时恢复正常运行状态。本公开采用的技术方案如下: 第一方面,本公开提供了一种应用程序的多进程间的进程处理方法,该方法包括: 在应用程序的主进程获取文件锁失败时,获取应用程序的各子进程的进程标识 PID; 基于各子进程的PID,获取每个子进程所对应的打开文件路径,以及主进程获取文 件锁失败时所对应的打开文件路径; 基于各子进程所对应的打开文件路径以及主进程获取文件锁失败时所对应的打 开文件路径,确定各子进程中持有文件锁的持锁子进程,持锁子进程为持有主进程所请求 的文件锁的子进程; 基于预配置的第一处理策略对持锁子进程进行相应的处理。 第二方面,本公开提供了一种应用程序的多进程间的进程处理装置,该装置包括: 进程标识获取模块,用于在应用程序的主进程获取文件锁失败时,获取应用程序 的各子进程的进程标识PID; 文件路径确定模块,用于基于各子进程的PID,获取每个子进程所对应的打开文件 路径,以及主进程获取文件锁失败时所对应的打开文件路径; 持锁子进程获取模块,用于基于各子进程所对应的打开文件路径以及主进程获取 文件锁失败时所对应的打开文件路径,确定各子进程中持有文件锁的持锁子进程,持锁子 进程为持有主进程所请求的文件锁的子进程; 4 CN 111580940 A 说 明 书 2/12 页 子进程处理模块,用于基于预配置的第一处理策略对持锁子进程进行相应的处 理。 第三方面,本公开提供了一种电子设备,该电子设备包括: 处理器和存储器; 存储器,用于存储操作指令; 处理器,用于通过调用操作指令,执行如本公开的第一方面的任一实施例中所示 的方法。 第四方面,本公开提供了一种计算机可读存储介质,该计算机可读存储介质上存 储有计算机程序指令,计算机程序指令用于使计算机执行以实现如本公开的第一方面的任 一实施例中所示的方法。 本公开实施例提供的技术方案带来的有益效果是: 本公开实施例的应用程序的多进程间的进程处理方法、装置及电子设备,在主进 程获取文件锁失败时,获取应用程序的各子进程的进程标识PID;基于各子进程的PID,可获 取每个子进程所对应的打开文件路径,以及主进程获取文件锁失败时所对应的打开文件路 径,由于持有文件锁的子进程和主进程获取文件锁失败时所对应的打开文件路径一致,则 基于各子进程所对应的打开文件路径和主进程获取文件锁失败时所对应的打开文件路径, 可确定出各子进程中的持锁子进程,即持有主进程所请求的文件锁的子进程,最后基于预 配置的第一处理策略对持锁子进程进行相应的处理,从而可及时发现主进程运行异常的原 因,以使得主进程尽快恢复正常运行,减少不必要的损失。 附图说明 为了更清楚地说明在本公开的实施例中的技术方案,下面将对本公开实施例描述 中所需要使用的附图作简单地介绍。 图1为本公开的实施例提供的一种应用程序的多进程间的进程处理方法的流程示 意图; 图2为本公开的实施例提供的一种应用程序的多进程间的进程处理装置的结构示 意图; 图3为本公开的实施例提供的一种电子设备的结构示意图。