一种进程信息的写方法及用户设备的制造方法

文档序号:9910823阅读:271来源:国知局
一种进程信息的写方法及用户设备的制造方法
【技术领域】
[0001]本发明涉及信息处理技术领域,特别涉及一种进程信息的写方法及用户设备。
【背景技术】
[0002]现有的用户设备比如手机中使用的浏览器很多都是按照多进程模式运行的,比如安卓(Android)系统中的Chromium浏览器等,可以方便用户查看各个网页。这多进程中包括一个主进程和至少一个渲染进程即主进程创建的子进程,其中主进程在运行过程中,可以将该主进程运行的信息按照文件形式直接写入到用户设备的磁盘中。这样当主进程崩溃时,可以通过该浏览器中所包括的崩溃捕获模块(breakpad)通过获取磁盘中主进程写入的文件,进而解决主进程崩溃的问题。
[0003]然而现有技术中,基于用户设备的安全机制限制,渲染进程没有写文件的权限,使得当渲染进程崩溃时,崩溃捕获模块无法获取到渲染进程的信息,从而无法解决渲染进程崩溃的问题。

【发明内容】

[0004]本发明实施例提供一种进程信息的写方法及用户设备,实现了用户设备中的渲染进程将运行信息发送给具有写文件权限的主进程,由主进程将渲染进程的运行信息写入到用户设备的永久性存储器中。
[0005]本发明实施例提供一种进程信息的写方法,应用于包括主进程和至少一个渲染进程的用户设备中,所述方法包括:
[0006]所述渲染进程获取所述渲染进程对应的暂时性存储空间的地址信息;
[0007]所述渲染进程根据所述地址信息将所述渲染进程的运行信息写入到所述暂时性存储空间中;
[0008]所述渲染进程将所述暂时性存储空间中储存的渲染进程的运行信息发送给所述主进程;
[0009]所述主进程将所述渲染进程的运行信息以文件形式写入到所述用户设备的永久性存储器中。
[0010]本发明实施例还提供一种用户设备,包括:主进程和至少一个渲染进程,其中,所述渲染进程包括:
[0011]地址信息获取单元,用于获取所述渲染进程对应的暂时性存储空间的地址信息;
[0012]写单元,用于根据所述地址信息将所述渲染进程的运行信息写入到所述暂时性存储空间中;
[0013]信息发送单元,用于将所述暂时性存储空间中储存的渲染进程的运行信息发送给所述主进程;
[0014]所述主进程,用于将所述信息发送单元发送的渲染进程的运行信息以文件形式写入到所述用户设备的永久性存储器中。
[0015]可见,在本实施例的方法中,在用户设备内以多进程模式运行的应用程序中,由于渲染进程没有写文件的权限,则渲染进程会将该渲染进程的运行信息先储存到对应的暂时性存储空间中,然后再将暂时性存储空间的运行信息发送给具有写文件权限的主进程,由主进程将该渲染进程的运行信息以文件形式写入到永久性存储器中。这样当渲染进程崩溃时,可以通过应用程序中包括的崩溃捕获模块从永久性存储器中获取该渲染进程的运行信息,进而可以解决渲染进程崩溃的问题。
【附图说明】
[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本发明实施例中用户设备显示的浏览器的示意图;
[0018]图2是本发明实施例提供的一种进程信息的写方法的流程图;
[0019]图3是本发明实施例提供的另一种进程信息的写方法的流程图;
[0020]图4是本发明实施例提供的一种用户设备的结构示意图;
[0021 ]图5是本发明实施例提供的另一种用户设备的结构示意图;
[0022]图6是本发明实施例提供的另一种用户设备的结构示意图。
【具体实施方式】
[0023]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0025]本发明实施例提供一种进程信息的写方法,主要是应用于用户设备(比如手机)内按照多进程模式运行的应用程序中,这多个进程中包括一个主进程和至少一个渲染进程,主进程与各个渲染进程之间可以通信。
[0026]比如在浏览器的应用程序中,主进程是浏览器中的主控进程,用户设备显示的浏览器的外框及外框上的工具栏都是由主进程控制的;而渲染进程主要是渲染各个标签对应的页面,用户设备显示的浏览器的外框内一个标签对应的页面是由一个渲染进程控制的。例如图1所示的浏览器的示意图,浏览器的主进程控制浏览器的外框上搜索或输入网址的框,及“收藏”、“工具”和“帮助”的工具栏;而在浏览器的外框内的标签I到3对应的页面分别由一个渲染进程控制,其中,用户设备当前正显示标签2对应的页面,则控制标签2对应的页面的渲染进程在前台运行,而控制标签I和3对应的页面的渲染进程在后台运行。
[0027]本实施例的方法主要是由用户设备中包括上述多进程的应用程序所执行的方法,流程图如图2所示,包括:
[0028]步骤101,应用程序中的渲染进程获取该渲染进程对应的暂时性存储空间的地址
?目息O
[0029]可以理解,当一个渲染进程启动时,主进程可以为该渲染进程分配一个对应的暂时性存储空间,比如分配一块内存空间,然后该主进程可以将分配的暂时性存储空间的地址信息发送给渲染进程,当渲染进程接收到主进程发送的暂时性存储空间的地址信息,就获取了该渲染进程对应的暂时性存储控制的地址信息。在另一种情况下,在应用程序中已经预先设置了各个渲染进程对应的暂时性存储空间的地址信息,这个渲染进程可以直接获取预先设置的暂时性存储空间的地址信息。
[0030]步骤102,渲染进程根据地址信息将该渲染进程的运行信息写入到暂时性存储空间中,这里渲染进程的运行信息是指该渲染进程运行时所产生的信息,比如堆栈信息等。
[0031]步骤103,渲染进程将暂时性存储空间中储存的渲染进程的运行信息发送给主进程。具体地,渲染进程可以按照预置的周期将对应的暂时性存储空间中储存的该渲染进程的运行信息发送给主进程。
[0032]步骤104,主进程将渲染进程的运行信息以文件形式写入到用户设备的永久性存储器(比如磁盘)中。
[0033]进一步地,在该应用程序中还可以包括崩溃捕获模块,该崩溃捕获模块主要是用于监测各个应用程序中各个进程的运行状态,如果监测到某一渲染进程崩溃时,则崩溃捕获模块获取永久性存储器中储存的该渲染进程的运行信息,然后根据运行信息分析渲染进程崩溃的ig息。
[0034]可见,在本实施例的方法中,在用户设备内以多进程模式运行的应用程序中,由于渲染进程没有写文件的权限,则渲染进程会将该渲染进程的运行信息先储存到对应的暂时性存储空间中,然后再将暂时性存储空间的运行信息发送给具有写文件权限的主进程,由主进程将该渲染进程的运行信息以文件形式写入到永久性存储器中。这样当渲染进程崩溃时,可以通过应用程序中包括的崩溃捕获模块从永久性存储器中获取该渲染进程的运行信息,进而可以解决渲染进程崩溃的问题。
[0035]进一步地,参考图3所示,在一个具体的实施例中,当某一渲染进程崩溃时,如果该渲染进程对应的暂时性存储空间中储存的该渲染进程的运行信息未来得及发送给主进程,则可以通过如下步骤完成该渲染进程的运行信息的写流程,具体地:
[0036]步骤201,当渲染进程崩溃时,崩溃捕获模块创建渲染进程的子进程,则崩溃的渲染进程为创建的子进程的父进程。
[0037]其中,崩溃捕获模块在监测到某一渲染进程崩溃时,就可以通过调用系统复制(sys_clone)函数创建子进程,该系统复制函数包括第一参数和第二参数,第一参数用于创建子进程的第一功能,该第一功能为获取父进程的运行信息的功能;第二参数用于创建子进程的第二功能,第二功能为访问父进程的地址空间的功能。
[0038]步骤202,子进程获取父进程的运行信息,及获取父进程与主进程之间的通信方式。具体地,子进程在获取父进程与主进程之间的通信方式时,具体可以访问父进程的地址空间,并获取地址空间中储存的父进程与主进程之间的通信方式;且还可以获取地址空间中该父进程对应的暂时存储空间的地址信息,进而可以从对应的暂时性存储空间中获取到父进程的运行信息。
[0039]需要说明的是,子进程访问父进程的地址空间,还可以获取到地址空间中储存的其它信息,则该子进程还可以利用其它信息执行其它的功能,在此不进行限制。
[0040]步骤203,子进程按照通信方式将父进程的运行信息发送给主进程。
[0041 ]步骤204,主进程将父进程的运行信息以文件的方式写入到永久性存储器中。
[0042]可见,本实施例中,通过上述步骤201到204就可以将渲染进程崩溃时所产生的运行信息写入到永久性存储器中,从而崩溃捕获模块可以获取到这些运行信息进行崩溃信息的分析。
[0043]本发明实施例还提供一种用户设备,其结构示意图如图4所示,具体可以包括:包括主进程10和至少一个渲染进程11(图4中以一个渲染进程11为例说明),其中,所述渲染进程11包括:
[0044]地址信息获取单元111,用于获取所述渲染进程对应的暂时性存储空间的地址信息;本实施例中,主进程10可以为所述渲染进程分配对应的暂时性存储空间,将所述暂时
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1