显示进程信息的方法及装置制造方法

文档序号:6490094阅读:143来源:国知局
显示进程信息的方法及装置制造方法
【专利摘要】一种显示进程信息的方法,包括:获取进程信息查看请求;根据所述进程信息查看请求获取对应的进程;通过调用预设的库函数获取所述进程的进程信息;获取所述进程对应的界面组件,通过所述界面组件展示所述进程信息。此外,还提供了一种显示进程信息的装置。上述显示进程信息的方法和装置可以提高操作效率。
【专利说明】显示进程信息的方法及装置
【技术领域】
[0001]本发明涉及智能终端领域,特别是涉及一种显示进程信息的方法及装置。
【背景技术】
[0002]随着移动终端技术的发展,智能终端在生活中越来越普及。智能终端包括智能手机、平板电脑等。智能终端中预装有相应的移动操作系统,例如ios (苹果公司推出基于手持设备的操作系统)、android (谷歌公司推出的基于移动设备的操作系统)、win8 (微软公司推出的基于移动设备的操作系统),且第三方为移动操作系统开发了大量基于智能终端的应用,使得用户可通过运行应用充分实现智能终端的价值。
[0003]智能终端上的应用以进程的方式在移动操作系统中运行,其对应有相应的进程信息。进程信息包括该应用占用的CPU资源(通常为占用的CPU计算耗时的百分比)和物理内存大小。
[0004]然而,发明人发现现有技术至少存在以下问题:在需要查看应用的进程信息时,通常需要将智能终端接入电脑,然后通过电脑上的移动终端管理软件通过驱动程序的接口函数查看的进程信息,也就是说在查看智能终端上应用的进程信息时,必须通过外置的管理软件进行查看,使得查看过程十分不便,从而降低了操作效率。

【发明内容】

[0005]基于此,有必要提供一种能提高操作效率的显示进程信息的方法。
[0006]一种显示进程信息的方法,包括:
[0007]获取进程信息查看请求;
[0008]根据所述进程信息查看请求获取对应的进程;
[0009]通过调用预设的库函数获取所述进程的进程信息;
[0010]获取所述进程对应的界面组件,通过所述界面组件展示所述进程信息。
[0011]此外,还有必要提供一种能提高操作效率的显示进程信息的装置。
[0012]一种显示进程信息的装置,包括:
[0013]请求获取模块,用于获取进程信息查看请求;
[0014]进程获取模块,用于根据所述进程信息查看请求获取对应的进程;
[0015]信息获取模块,用于通过调用预设的库函数获取所述进程的进程信息;
[0016]信息展示模块,用于获取所述进程对应的界面组件,通过所述界面组件展示所述进程信息。
[0017]上述显示进程信息的方法和装置,在接收到进程信息查看请求之后,通过移动操作系统中预设的库函数获取进程信息。和传统技术相比,可在移动终端上直接查看进程信息,而不用与外置的电脑相连,在外部通过移动终端的驱动程序的接口函数来查看,从而减少了查看时的操作,提高了操作效率。【专利附图】

【附图说明】
[0018]图1为一个实施例中显示进程信息的方法的流程图;
[0019]图2为一个实施例中展示进程信息的界面示意图;
[0020]图3为一个实施例中显示进程信息的装置的结构示意图;
[0021]图4为另一个实施例中显示进程信息的装置的结构示意图。
【具体实施方式】
[0022]在一个实施例中,如图1所示,一种显示进程信息的方法,包括:
[0023]步骤S102,获取进程信息查看请求。
[0024]进程信息查看请求为应用程序发起的请求。
[0025]在一个实施例中,可通过socket通信接口获取进程信息查看请求。例如,应用程序界面中可设置按钮,当按钮被触发时,则可获取该应用程序进程对应的进程标识,并根据进程标识生成进程信息查看请求。
[0026]在另一个实施例中,还可通过应用程序函数调用获取进程信息查看请求。例如,可预先在应用程序的启动函数中添加相应的用于生成进程查看请求的代码,当应用程序启动并调用启动函数时,可通过函数调用获取进程信息查看请求。
[0027]步骤S104,根据进程信息查看请求获取对应的进程。
[0028]在一个实施例中,可提取进程信息查看请求中的进程标识,并根据进程标识获取对应的进程。进程标识(进程ID)与进程一一对应,可在移动操作系统的进程列表中根据进程标识获取对应的进程。
[0029]在另一个实施例中,还可通过应用程序函数调用的回调函数获取对应的进程。在本实施例中,应用程序通过函数调用发起进程信息查看请求,并以可获取其自身对应的进程的回调函数作为函数调用的参数,函数调用过程中,即可通过调用该回调函数来获取进程。
[0030]例如,在ios系统中,可在应用程序的启动函数的函数定义中加入回调函数mach_task_self (),用于获取该应用程序对应的进程。
[0031]由于在某些基于沙盒模型(沙盒,sandbox,即封闭的内存空间,为保证数据安全,进程运行在一个相对封闭的内存空间即中,其它内存区域的进程或线程无法获取到该封闭内存空间中的数据)的移动操作系统中,获取进程需要一定的安全权限,因此通过应用程序函数调用获取进程信息查看请求,并通过应用程序函数调用的回调函数获取对应的进程可在进程运行于沙盒模型中时,能够安全地根据进程信息查看请求获取到对应的进程。
[0032]步骤S106,通过调用预设的库函数获取进程的进程信息。
[0033]进程信息包括应用程序运行过程中的进程对应的CPU占用率、占用的物理内存的大小、运行时长、占用的端口号等信息。移动操作系统底层的库函数中提供了获取进程信息的库函数,可通过调用库函数获取进程的进程信息。
[0034]在一个实施例中,通过调用预设的库函数获取进程的进程信息的步骤可具体为:获取进程对应的线程,通过调用预设的库函数获取所述线程对应的线程信息;根据所述线程信息生成对应的进程信息。
[0035]进程在运行时可以多线程的方式运行(非多线程方式运行时,其本身就是一个主线程)。线程信息即线程对应的CPU占用率、占用的物理内存的大小、运行时长、占用的端口号等信息。可在移动操作系统的底层获取进程对应的线程列表,并遍历该线程列表,对该列表中的线程逐一通过调用操作系统中预设的库函数来获取其对应的线程信息,然后可通过叠加每个线程对应的CPU占用率得到进程对应的CPU占用率,叠加每个线程占用的物理内存的大小得到进程占用的物理内存的大小。
[0036]步骤S108,获取进程对应的界面组件,通过界面组件展示进程信息。
[0037]在一个实施例中,可预先在进程中创建界面组件,在展示进程信息时,先获取该界面组件,并通过该界面组件展示进程信息。例如,界面组件可以是在进程对应的应用程序(即运行时为该进程的应用程序)中定义的弹出窗口(popup窗口)、状态栏组件(statebar)。可通过函数调用或socket等通信方式将进程信息传递给界面组件,然后由该界面组件展示该进程信息。
[0038]在另一个实施例中,可获取进程外部与该进程对应的界面组件。例如,进程外部与进程对应的界面组件可以是操作系统的任务栏、标题栏、状态栏,进程外部运行的插件或系统服务中创建的弹出窗口、浮动窗口等。进程外部与该进程对应的界面组件提供有访问接口,可通过函数调用或socket等通信方式将获取到的进程信息传递给进程外部的界面组件,然后由该界面组件展示该进程信息。
[0039]在一个实施例中,通过调用预设的库函数获取所述进程的进程信息的步骤之前还可根据所述进程启动进程信息查看线程。
[0040]通过调用预设的库函数获取所述进程的进程信息的步骤可具体为:通过进程信息查看线程调用预设的库函数获取进程的进程信息。
[0041]可预先将获取进程的进程信息的函数调用定义在线程对象的定义中,然后创建线程对象。在获取进程信息之前,可获取该线程对象,并启动该线程对象对应的线程。线程启动后则通过前述的函数调用定义获取进程信息。
[0042]预先启动线程,通过多线程获取进程信息的方式,不会对应用程序的运行产生阻塞,从而使得应用程序的运行更加流畅。
[0043]在一个实施例中,还可循环执行:
[0044]步骤S106 (通过预设的库函数获取所述进程的进程信息)以及步骤S108 (展示所述进程信息)。
[0045]可每隔预设的时间间隔(例如,每隔2秒)循环执行步骤S106、步骤S108。使得应用程序的进程信息可以实时地被获取并展示给用户,从而使用户能够更加方便地获知进程的运行情况。
[0046]进一步的,还可根据循环获取到的进程信息绘制进程信息变化曲线并展示。
[0047]通过进程信息变化曲线来展示进程信息,可方便用户获知进程的运行过程中出现的异常情况。例如,当应用程序存在内存泄漏的情况时,进程信息变化曲线中得物理内存占用大小会呈持续上升的情况,则可即时通知用户该异常。
[0048]在一个实施例中,如图2所示,音乐播放应用在启动时,通过其启动函数的函数调用发起进程信息查看请求,从而启动进程信息查看线程,该线程通过回调函数获取到音乐播放应用对应的进程,并每隔固定的时间间隔通过移动操作系统的库函数获取音乐播放应用进程的所有线程对应的线程的CPU使用率和物理内存占用大小,然后通过叠加的方式计算得到音乐播放应用进程的CPU使用率和物理内存占用大小,并刷新到展示窗口中(图2中的CPU Usage即CPU使用率,Memory即物理内存占用大小)。展示窗口上显示的数据则实时动态地反映了音乐播放应用进程的进程信息。
[0049]在一个实施例中,如图3所示,一种显示进程信息的,包括:请求获取模块102、进程获取模块104、信息获取模块106以及信息展示模块108,其中:
[0050]请求获取模块102,用于获取进程信息查看请求。
[0051]进程信息查看请求为应用程序发起的请求。
[0052]在一个实施例中,请求获取模块102可用于通过socket通信接口获取进程信息查看请求。例如,应用程序界面中可设置按钮,当按钮被触发时,则可获取该应用程序进程对应的进程标识,并根据进程标识生成进程信息查看请求。
[0053]在另一个实施例中,请求获取模块102还可用于可通过应用程序函数调用获取进程信息查看请求。例如,可预先在应用程序的启动函数中添加相应的用于生成进程查看请求的代码,当应用程序启动并调用启动函数时,可通过函数调用获取进程信息查看请求。
[0054]进程获取模块104,用于根据进程信息查看请求获取对应的进程。
[0055]在一个实施例中,进程获取模块104可用于提取进程信息查看请求中的进程标识,并根据进程标识获取对应的进程。进程标识(进程ID)与进程一一对应,可在移动操作系统的进程列表中根据进程标识获取对应的进程。
[0056]在另一个实施例中,进程获取模块104还可用于可通过应用程序函数调用的回调函数获取对应的进程。在本实施例中,应用程序通过函数调用发起进程信息查看请求,并以可获取其自身对应的进程的回调函数作为函数调用的参数,函数调用过程中,即可通过调用该回调函数来获取进程。
[0057]例如,在ios系统中,可在应用程序的启动函数的函数定义中加入回调函数mach_task_self (),用于获取该应用程序对应的进程。
[0058]由于在某些基于沙盒模型(沙盒,sandbox,即封闭的内存空间,为保证数据安全,进程运行在一个相对封闭的内存空间即中,其它内存区域的进程或线程无法获取到该封闭内存空间中的数据)的移动操作系统中,获取进程需要一定的安全权限,因此通过应用程序函数调用获取进程信息查看请求,并通过应用程序函数调用的回调函数获取对应的进程可在进程运行于沙盒模型中时,能够安全地根据进程信息查看请求获取到对应的进程。
[0059]信息获取模块106,用于通过调用预设的库函数获取进程的进程信息。
[0060]进程信息包括应用程序运行过程中的进程对应的CPU占用率、占用的物理内存的大小、运行时长、占用的端口号等信息。移动操作系统底层的库函数中提供了获取进程信息的库函数,信息获取模块106可用于通过调用库函数获取进程的进程信息。
[0061]在一个实施例中,信息获取模块106可用于获取进程对应的线程,通过调用预设的库函数获取线程对应的线程信息,根据线程信息生成对应的进程信息。
[0062]进程在运行时可以多线程的方式运行(非多线程方式运行时,其本身就是一个主线程)。线程信息即线程对应的CPU占用率、占用的物理内存的大小、运行时长、占用的端口号等信息。信息获取模块106可用于在移动操作系统的底层获取进程对应的线程列表,并遍历该线程列表,对该列表中的线程逐一通过调用操作系统中预设的库函数来获取其对应的线程信息,然后可通过叠加每个线程对应的CPU占用率得到进程对应的CPU占用率,叠加每个线程占用的物理内存的大小得到进程占用的物理内存的大小。
[0063]信息展示模块108,用于获取进程对应的界面组件,通过界面组件展示进程信息。
[0064]在一个实施例中,可预先在进程中创建界面组件,在展示进程信息时,信息展示模块108可用于获取该界面组件,并通过该界面组件展示进程信息。例如,界面组件可以是在进程对应的应用程序(即运行时为该进程的应用程序)中定义的弹出窗口(popup窗口)、状态栏组件(state bar)o信息展示模块108可用于通过函数调用或socket等通信方式将进程信息传递给界面组件,然后由该界面组件展示该进程信息。
[0065]在另一个实施例中,信息展示模块108可用于获取进程外部与该进程对应的界面组件。例如,进程外部与进程对应的界面组件可以是操作系统的任务栏、标题栏、状态栏,进程外部运行的插件或系统服务中创建的弹出窗口、浮动窗口等。进程外部与该进程对应的界面组件提供有访问接口。信息展示模块108可用于通过函数调用或socket等通信方式将获取到的进程信息传递给进程外部的界面组件,然后由该界面组件展示该进程信息。
[0066]在一个实施例中,如图4所示,显示进程信息的装置还包括线程启动模块110,用于根据进程启动进程信息查看线程。
[0067]信息获取模块106还可用于通过进程信息查看线程调用预设的库函数获取进程的进程信息。
[0068]可预先将获取进程的进程信息的函数调用定义在线程对象的定义中,然后创建线程对象线程启动模块110可用于获取该线程对象,并启动该线程对象对应的线程。线程启动后,信息获取模块106可用于通过前述的函数调用定义获取进程信息。
[0069]预先启动线程,通过多线程获取进程信息的方式,不会对应用程序的运行产生阻塞,从而使得应用程序的运行更加流畅。
[0070]在一个实施例中,如图4所示,显示进程信息的装置还包括循环调用模块112,可用于循环调用信息获取模块106和信息展示模块108。
[0071]循环调用模块112可用于每隔预设的时间间隔(例如,每隔2秒)循环调用信息获取模块106和信息展示模块108。使得应用程序的进程信息可以实时地被获取并展示给用户,从而使用户能够更加方便地获知进程的运行情况。
[0072]进一步的,信息展示模块108还可用于根据循环获取到的进程信息绘制进程信息变化曲线并展示。
[0073]通过进程信息变化曲线来展示进程信息,可方便用户获知进程的运行过程中出现的异常情况。例如,当应用程序存在内存泄漏的情况时,进程信息变化曲线中得物理内存占用大小会呈持续上升的情况,则可即时通知用户该异常。
[0074]上述显示进程信息的方法和装置,在接收到进程信息查看请求之后,通过调用移动操作系统中预设的库函数获取进程信息。和传统技术相比,可在移动终端上直接查看进程信息,而不用与外置的电脑相连,在外部通过移动终端的驱动程序的接口函数来查看,从而减少了查看时的操作,提高了操作效率。
[0075]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0076]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种显示进程信息的方法,包括: 获取进程信息查看请求; 根据所述进程信息查看请求获取对应的进程; 通过调用预设的库函数获取所述进程的进程信息; 获取所述进程对应的界面组件,通过所述界面组件展示所述进程信息。
2.根据权利要求1所述的显示进程信息的方法,其特征在于,所述通过调用预设的库函数获取所述进程的进程信息的步骤之前还包括: 根据所述进程启动进程信息查看线程; 所述通过调用预设的库函数获取所述进程的进程信息的步骤为: 通过所述进程信息查看线程调用预设的库函数获取所述进程的进程信息。
3.根据权利要求1所述的显示进程信息的方法,其特征在于,所述方法还包括循环执行如下步骤: 通过调用预设的库函数获取所述进程的进程信息; 获取所述进程对应的界面组件,通过所述界面组件展示所述进程信息。
4.根据权利要求1所述的显示进程信息的方法,其特征在于,所述通过调用预设的库函数获取所述进程的进程信息的步骤为: 获取所述进程对应的线程; 通过调用预设的库函数获取所述线程对应的线程信息; 根据所述线程信息生成对应的进程信息。
5.根据权利要求1至4任一项所述的显示进程信息的方法,其特征在于,所述获取进程信息查看请求的步骤为: 通过应用程序函数调用获取进程信息查看请求。
6.一种显示进程信息的装置,其特征在于,包括: 请求获取模块,用于获取进程信息查看请求; 进程获取模块,用于根据所述进程信息查看请求获取对应的进程; 信息获取模块,用于通过调用预设的库函数获取所述进程的进程信息; 信息展示模块,用于获取所述进程对应的界面组件,通过所述界面组件展示所述进程信息。
7.根据权利要求6所述的显示进程信息的装置,其特征在于,所述装置还包括线程启动模块,用于根据所述进程启动进程信息查看线程; 所述信息获取模块还用于通过所述进程信息查看线程调用预设的库函数获取所述进程的进程信息。
8.根据权利要求6所述的显示进程信息的装置,其特征在于,所述装置还包括循环调用模块,用于循环调用信息获取模块和所述信息展示模块。
9.根据权利要求6所述的显示进程信息的装置,其特征在于,所述信息获取模块还用于获取所述进程对应的线程,通过调用预设的库函数获取所述线程对应的线程信息,根据所述线程信息生成对应的进程信息。
10.根据权利要求6至9任一项所述的显示进程信息的装置,其特征在于,所述请求获取模块还用于通过应用程序函数调用获取进程信息查看请求。
【文档编号】G06F9/44GK103777933SQ201210407277
【公开日】2014年5月7日 申请日期:2012年10月23日 优先权日:2012年10月23日
【发明者】杨海燕, 李晓波 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1