CN112416697A - 一种信息处理、装置、终端及存储介质 - Google Patents

一种信息处理、装置、终端及存储介质 Download PDF

Info

Publication number
CN112416697A
CN112416697A CN201910780335.2A CN201910780335A CN112416697A CN 112416697 A CN112416697 A CN 112416697A CN 201910780335 A CN201910780335 A CN 201910780335A CN 112416697 A CN112416697 A CN 112416697A
Authority
CN
China
Prior art keywords
process number
monitored
monitoring
changed
log information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910780335.2A
Other languages
English (en)
Inventor
邵翔宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201910780335.2A priority Critical patent/CN112416697A/zh
Publication of CN112416697A publication Critical patent/CN112416697A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开是关于一种信息处理方法、装置、终端及存储介质,所述方法包括:记录被监控进程的进程号;在有监控需求时,将记录的所述进程号添加到进程号参数的预设指令中生成监控指令;根据所述监控指令,生成所述被监控进程的日志信息。本公开实施例提供的技术方案,可以减少手动对进程号的输入,从而减少手动操作带来的操作复杂;同时减少在有监控需求时可能由于手动操作的不及时性等所引起的被监控进程的日志信息的遗漏现象。

Description

一种信息处理、装置、终端及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及信息处理、装置、终端及存储介质。
背景技术
相关技术中,应用程序在运行过程中会有多个进程,每个进程可以通过对应的进程监控日志来获得进程的相关信息,以监控所述进程。而如果要获得进程对应的日志,需要工程师手动输入相应的进程号,执行相应命令。但是面对程序运行时出现的各种状况,例如,某些进程在运行过程中可能会被关闭,关闭之后再重启的该进程的进程号,或者,需要同时获得两个以上的进程号对应的日志时,如果仍然采用手动操作,一来,会让操作变得复杂;二来,手动操作必然会导致日志生成的不及时,最终导致日志的遗漏等问题。
发明内容
根据本公开实施例的第一方面,提供一种信息处理方法,包括:
记录被监控进程的进程号;
在有监控需求时,将记录的所述进程号添加到进程号参数的预设指令中生成监控指令;
根据所述监控指令,生成所述被监控进程的日志信息。
可选地,所述记录被监控进程的进程号,包括:
若所述被监控进程的进程号发生了改变,记录改变后的进程号。
可选地,所述记录被监控进程的进程号,包括:
若所述被监控进程的进程号发生了改变,确定有所述监控需求。
可选地,所述方法还包括:
比对所述被监控进程的当前进程号与历史进程号得到比对结果;
根据所述比对结果,确定所述被监控进程的进程号是否发生了改变。
可选地,确定所述被监控进程的进程号发生了改变,包括以下之一:
所述被监控进程的当前进程号不为空且所述被监控进程的历史进程号为空,确定所述被监控进程的进程号发生了改变;
所述被监控进程的当前进程号不同于所述被监控进程的历史进程号,确定所述被监控进程的进程号发生了改变。
可选地,所述方法还包括:
若所述被监控进程所述进程号发生了改变,则关闭所记录的监控进程;其中,所述监控进程是为了得到所述被监控进程的历史进程号对应的日志信息所生成的。
可选地,所述关闭所记录的监控进程,包括:
关闭监控进程号集合中每个进程号对应的监控进程;所述监控进程号集合包括:所述监控进程的进程号。
可选地,所述方法还包括:
记录生成所述被监控进程的历史进程号对应的日志信息时所产生的监控进程的进程号;
确定所述监控进程的进程号是否在所述监控进程号集合中;
若所述监控进程的进程号不在所述监控进程号集合中,则将所述监控进程的进程号记录在所述监控进程号集合中。
可选地,所述方法还包括:
读取所述日志信息以及生成所述日志信息时对应的系统时间信息;
将所述日志信息以及生成所述日志信息时对对应的系统时间信息一起保存为文本信息。
可选地,所述被监控进程的个数包括一个或一个以上。
根据本公开实施例的第二方面,提供一种信息处理装置,包括:
第一记录模块,被配置为记录被监控进程的进程号;
添加模块,被配置为在有监控需求时,将记录的所示进程号添加到进程号参数的预设指令中生成监控指令;
生成模块,被配置为根据所述监控指令,生成所述被监控进程的日志信息。
可选地,所述第一记录模块,还被配置为:
若所述被监控进程的进程号发生了改变,记录改变后的进程号。
可选地,所述装置还包括;
第一确定模块,被配置为若所述被监控进程的进程号发生了改变,确定有所述监控需求。
可选地,所述装置还包括:
比对模块,被配置为比对所述被监控进程的当前进程号与历史进程号得到比对结果;
第二确定模块,被配为确定所述被监控进程的进程号是否发生了改变。
可选地,所述第二确定模块,还被配置为:
所述被监控进程的当前进程号不为空且所述被监控进程的历史进程号为空,确定所述被监控进程的进程号发生了改变;
所述被监控进程的当前进程号不同于所述被监控进程的历史进程号,去欸的那个所述被监控进程的进程号发生了改变。
可选地,所述装置还包括:
关闭模块,被配置为若所述被监控进程的进程号发生来改变,则关闭所记录的日志成成进程;其中,所述监控进程时为了得到所述被监控进程的历史进程号对应的日志信息所生成的。
可选地,所述关闭模块,还被配置为:
若所述被监控进程的进程号发生了改变,关闭监控进程号集合中每个进程号对应的监控进程;所述监控进程号结合包括:所述监控进程的进程号。
可选地,所述装置还包括:
第二记录模块,被配置为确定所述监控进程的进程号是否在所述监控进程号集合中;
第三确定模块,被配置为确定所述监控进程的进程号是否在所述监控进程号集合中;
第二记录模块,还被配置为若所述监控进程的进程号不在所述监控进程号集合中,则将所述监控进程的进程号记录在所述监控进程号集合中。
可选地,所述装置还包括:
读取模块,被配置为读取所述日志信息以及生成所述日志信息时对应的系统时间信息;
保存模块,被配置为将所述日志信息以及生成所述日志信息时对应的系统时间信息一起保存为文本信息。
可选地,所述被监控进程的个数包括一个或一个以上。
根据本公开实施例的第三方面,提供一种终端,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
记录被监控进程的进程号;
在有监控需求时,将记录的所述进程号添加到进程号参数的预设指令中生成监控指令;
根据所述监控指令,生成所述被监控进程的日志信息。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述任意所述的方法步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开的实施例中,被监控进程的执行设备会自行记录被监控进程的进程号;在有监控需求时,将记录的所述进程号添加到进程号参数的预设指令中,从而生成完整的监控指令;根据所述监控指令,生成所述被监控进程的日志信息。也就是说,本公开的实施例由于可以将被监控进程的进程号记录下来,并在有监控需求时,设备可以在不用用户手动输入被监控进程或者选择被监控进程的进程号的情况下,利用自身记录的所述进程号生成监控指令,并通过监控指令的执行生成该被监控进程的日志信息。如此本公开实施例提供的技术方案,减少手动操作带来的操作复杂;以及减少在有监控需求时可能由于手动操作的不及时性等所引起的无法及时生成被监控进程的日志信息,从而导致的被监控进程的日志信息的遗漏等现象。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种信息处理方法的流程图;
图2是根据一示例性实施例示出的一种信息处理方法的另一流程图;
图3是根据一示例性实施例示出的一种信息处理方法的又一流程图;
图4是根据一示例性实施例示出的一种信息处理方法的再一流程图;
图5是根据一示例性实施例示出的一种信息处理装置的框图;
图6是根据一示例性实施例示出的一种终端的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种信息处理方法的流程图,如图1所示,该方法应用于终端,包括以下步骤:
步骤101:记录被监控进程的进程号。
这里,所述终端具体可以为移动终端、固定终端;其中,移动终端可以为手机、平板电脑、笔记本电脑等;固定终端可以为台式电脑。该方法可以应用于任何能够运行计算机程序的终端上。
这里,进程是计算机中的程序关于某数据集合上的一次运行活动,是一段程序的执行过程。
进程号是用于唯一标识进程的一个编号或序列号。所述进程号可以用来作为函数调用的参数,或者是用来作为生产某些指令的参数。
这里,所述进程号用来作为监控指令生成的相关参数。
步骤102:在有监控需求时,将记录的所述进程号添加到进程号参数的预设指令中生成监控指令。例如,在终端内内置了进程号空缺的不完整监控指令,通过将记录的进程号与不完整的监控指令组合,会生成可以被终端所执行的监控指令。
步骤103:,根据所述监控指令,生成所述被监控进程的日志信息。
在本实施例中,所述终端所运行的操作系统可以是安卓系统、Linux系统或IOS系统等操作系统。
当所述操作系统为安卓系统,所述监控指令可以为adb(Android Debug Bridge,安卓调试桥梁)命令,或者,adb logcat命令。
当所述操作系统为Linux系统,所述监控指令可以为ps(process status,进程状态)命令。
本实施例中,终端能够确定是否有监控需求,在有监控需求时,自行将记录的进程号添加到进程号参数的预设指令中生成监控指令,不需要人为的将进程号添加到进程号参数中。如此一来,终端能够在有需要监控时,及时基于进程号生成监控指令,以便及时监控进程号对应的进程,减少被监控进程的日志信息的遗漏现象。
作为一个可选的实施例,所述步骤101,也就是所述记录被监控进程的进程号,包括:若所述被监控进程的进程号发生了改变,记录改变后的进程号。
这里,终端能够智能地记录下改变后的进程号。正是由于每一次变化后的进程号都会被终端记录下来,可以减少因无法及时记录新的进程号,而导致无法基于新的进程号作为进程号参数生成相关指令的现象,进而提高了基于相关指令得到被监控进程的相关信息的信息准确性。其中,所述相关指令包括所述监控指令。
可以理解的是,程序运行过程中,不可避免的会出现某些进程的被关闭,而后又重启的现象。而这些进程被关闭之后又重启会导致的它们的进程号发生变化。
作为一可选的实施例,所述方法还包括:若所述被监控进程的进程号发生了改变,确定有所述监控需求。
本实施例中,终端会在有监控需求时,将记录的所述进程号添加到进程号参数的预设指令中生成监控指令。而在所述被监控进程的进程号发生了改变后,即确定为有所述监控需求,也就能够将每一次改变后的进程号添加到进程号参数的预设指令中生成监控指令,并基于监控指令,生成所述被监控进程的改变后的进程号所对应的日志信息。如此,可以得到该进程的每一次改变后的进程号对应的日志信息,减少针对该进程的日志信息的遗漏。进而方便工程师能够通过该进程的全部日志信息监控该进程。
需要说明的是,被监控进程的进程号会随着该进程的关闭后的重启而改变,而被监控进程的进程名并不会改变。
作为一个可选的实施例,所述记录被监控进程的进程号,包括:获取所述被监控进程的进程名;将所述进程名作为进程名参数生成第一获取指令;根据所述第一获取指令,获取所述被监控进程的进程号。
例如,所述第一获取指令也可以是adb指令。具体地,所述第一获取指令可以是“adb shell ps–f”。
作为另一可选的实施例,所述方法还包括:比对所述被监控进程的当前进程号与历史进程号得到比对结果;根据所述比对结果,确定所述被监控进程的进程号是否发生了改变。
在一实施例中,所述比对所述被监控进程的当前进程号与历史进程号得到比对结果,包括:基于同一进程名及对应关系,比对所述被监控进程的当前进程号与历史进程号以得到比对结果。这里,所述对应关系,包括:所述被监控进程的所述进程名与每一次获取对应进程号的对应关系。
本实施例中,基于同一所述进程名,在所述对应关系中,确定所述得到比对结果,从而确定所述被监控进程的进程号是否发生了改变。实现简单,且可实现智能地判断,无需人工排查,提高了监控效率。
在另一些实施例中,所述历史进程号还可以根据监控进程的相关命令中所携带的参数确定。可以理解的是,监控进程对应有所述监控命令,而所述监控命令可以理解上述实施例所述的监控指令,而监控指令是由进程号参数的预设指令中生成。意味着,根据所述监控进程的相关命令,可以得到所述被监控进程的历史进程号。
因此,在本实施例中,所述历史进程号也可以不用单独记录在所述对应关系中,减少终端系统的存储负荷。
作为另一可选的实施例,确定所述被监控进程的进程号发生了改变,包括以下之一:
所述被监控进程的当前进程号不为空且所述被监控进程的历史进程号为空,确定所述被监控进程发生了改变;
所述被监控进程的当前进程号不同于所述被监控进程的历史进程号,确定所述被监控进程的进程号发生了改变。
这里,所述被监控进程的当前进程号不为空且所述被监控进程的历史进程号为空,表明所述被监控进程在当前时刻首次开启或者再次开启,从而为该被监控进程分配了一个当前进程号,该当前进程号是一个新的进程号,该被监控进程的进程号发生了从无到有的改变。此时,表明所述被监控进程正在运行状态,因此,有必要对正在运行的进程进行监控。
需要补充的是,当一个进程被关闭后再重启会重新产生一个新的进程号。
这里,所述被监控进程的当前进程号不同于所述被监控进程的历史进程号,表明所述被监控进程从历史时刻到当前时刻,发生了从运行状态到关闭状态再到运行状态的切换过程。而该被监控进程拥有新的进程号之后,也有必要基于新的进程号对这个重新运行的进程进行监控。
因此,本实施例无论被监控进程从关闭状态到重启状态,还是从运行状态到关闭状态再到重启状态,都认定所述被监控进程的进程号发生了改变,需要重新发起监控指令,以获得所述被监控进程的新状态下的日志信息。
作为一可选的实施例,所述方法还包括:若所述被监控进程的进程号发生了改变,则关闭所记录的监控进程;其中,所述监控进程是为了得到所述被监控进程的历史进程号对应的日志信息所生成的。
也就是说,所述根据所述监控指令,生成所述被监控进程的日志信息的执行过程中,会产生所述监控进程。
本实施例中,为了优化系统环境,需要将多余的进程进行关闭。对基于所述被监控进程的历史进程号生成日志信息所产生的监控进程进行关闭,能够优化系统环境。
需要补充的是,所述方法还包括:基于第二获取指令,其中,所述第二获取指令携带有监控进程所需要的关键信息,例如:logcat,获取所述监控进程的进程号。
例如,所述第二获取指令可以是grep(Globally search a Regular Expressionand Print,全局搜索正则表达式并打印)命令。具体地,所述第二获取指令可以是“grep-E'logcat”指令。
在一些实施例中,所述关闭所记录的监控进程,包括:关闭监控进程号集合中每个进程号对应的监控进程;所述监控进程号集合包括:所述监控进程的进程号。
在本实施例中,引入了监控进程号集合,能够集中将监控进程号集合中的监控进程的进程号对应的监控进程进行统一的关闭。如此,能够将之前来不及关闭,或者因为系统问题在上一次没有进行关闭的监控进程进行再一次的排查,关闭所有监控进程,以进一步优化系统。
在另一些实施例中,所述方法还包括:
记录生成所述被监控进程的历史进程号对应的日志信息时所产生的监控进程的进程号;
确定所述监控进程的进程号是否在所述监控进程号集合中;
若所述监控进程的进程号不在所述监控进程号集合中,则将所述监控进程的进程号记录在所述监控进程号集合中。
这里,通过记录每一次生成所述被监控进程的历史进程号对应日志信息所产生的监控进程的进程号,将所述监控进程的进程号添加到监控进程号集合中,能够减少监控进程的遗漏,从而能够将每一次的监控进程都进行关闭,以进一步优化系统。
作为另一可选的实施例,所述方法还包括:
读取所述日志信息以及生成所述日志信息时对应的系统时间信息;
将所述日志信息以及生成所述日志信息时对应的系统时间信息一起保存为文件信息。
本实施例中,能够将所有有监控需求时基于所述监控指令生成的被监控进程的日志信息以及对应的系统时间信息一起存为文本信息,以便工程师能够根据文本信息随时查找和查看所述被监控进程的相关日志信息。
进一步地,所述被监控进程的个数可以是一个,也可以是一个以上。
需要补充的是,当所述被监控进程的个数是一个以上时,将记录的所述进程号添加到进程号参数的预设指令中生成监控指令,包括:将记录的所述进程号并列添加到进程号参数的预设指令中生成监控指令,从而实现多线程一起监控多个所述被监控进程。
例如,当所述被监控进程的个数是一个时,所述监控指令可以是“adb logcat+(被监控进程的进程号)”;而当所述被监控进程的个数是N个时,所述监控指令可以是“adblogcat+(被监控进程的进程号1|被监控进程的进程号2|被监控进程的进程号3|...|被监控进程的进程号n)”;其中,N为大于或等于1的正整数;这里,“|”获取命令中为不同进程号的分隔符。
因此,本发明实施例能够实现在一个被监控进程时,且在有监控需求时,智能地生成监控指令,以生成所述被监控进程的日志信息。而在有多个被监控进程时,也能够基于上述同样的方式进行多线程并列执行,从而同时获得多个被监控进程的日志信息。本实施例无需手动切换进程号,减少了因为需要手动切换引起的进程号遗漏现象,从而最终减少被监控进程的日志信息的遗漏现象。
进一步地,本公开还提供了一个具体实施例,以进一步理解本公开实施例所提供的信息处理方法。
图2是根据一示例性实施例示出的一种信息处理方法的另一流程图,如图2所示,所述方法包括:
步骤201:记录被监控进程的进程号。
在本实施例中,以终端的操作系统为安卓系统为例,所述日志信息以log日志为例,其中,所述log日志可以理解为上述实施例所述的adb logcat命令所生成的日志信息。且,本实施例以多线程同时监控N个被监控进程为例。
所述步骤201,也就是,所述记录被监控进程的进程号,可以包括:根据根据“adbshell ps-f|被监控进程名1|被监控进程名2|被监控进程名3|...|被监控进程名n|'”命令,获取终端的N被监控进程的进程号。这里,“|”获取命令中为不同进程名的分隔符。
当然,在一些实施例中,还可以通过在记录被监控进程的进程号的同时一起将监控进程的进程号也记录下来。
具体地,可以根据adb shell ps-f|grep-E'logcat|被监控进程名1|被监控进程名2|被监控进程名3|...|被监控进程名n|'”命令,获取终端的N被监控进程的进程号以及logcat进程的进程号。
这里,所述logcat进程应当理解为上述实施例所述的监控进程。
这里,命令“adb shell ps-f|grep-E'logcat|被监控进程名1|被监控进程名2|被监控进程名3|...|被监控进程名n|'”实际上包含了上述实施例所述的第一获取指令和第二获取指令。
本实施例中,可以通过同一命令包含的第一获取指令和第二获取指令,同时获取到被监控进程的进程号以及根据被监控进程的进程号在之前生成日志信息的监控进程的进程号。
步骤202:若所述被监控进程的进程号发生了改变,确定有所述监控需求。
具体地,终端确定N个被监控进程的进程号中的一个或一个以上是否发生了改变,如果是,则执行步骤203;否则返回步骤201。
这里,所述被监控进程的进程号发生了改变包括:所述被监控进程的进程号从无到有,或者,所述被监控进程的进程号发生了改变。
这里,所述被监控进程的进程号从无到有,可以理解为上述实施例所述的所述被监控进程的当前进程号不为空且所述被监控进程的历史进程号为空。所述被监控进程的进程号发生了改变,可以理解为上述实施例所述的所述被监控进程的当前进程号不同于所述被监控进程的历史进程号。
步骤203:记录生成所述监控进程的历史进程号对应的日志信息时所产生的监控进程的进程号;确定所述监控进程的进程号是否在所述监控进程号集合中;若所述监控进程的进程号不在所述监控进程号集合中,则将所述监控进程号记录在所述监控进程号集合中。
具体地,所述步骤203,可以包括:如果步骤201中获得了logcat进程且获得的所述logcat进程的进程号不在“存放所有logcat进程的进程号集合”中,则将步骤201中获取的logcat进程的进程号添加到“存放所有logcat进程的进程号集合”中,以实现将最新获取的所述监控进程的进程号记录在所述监控进程号集合中的过程。
这里,所述“存放所有logcat进程的进程号集合”,可以理解为上述实施例所述的监控进程号集合。。
步骤204:关闭监控进程号集合中每个进程号对应的监控进程。
在本实施例中,首先,读取“存放所有logcat进程的进程号集合”中每个进程号,然后执行"adb shell kill-9logcat的PID"命令,从而关闭监控进程号集合中每个进程号对应的监控进程,从而关闭了所有基于被监控进程的历史进程号生成日志信息时所产生的监控进程。
这里,将所述“存放所有logcat进程的进程集合”每个进程号,写入上述命令中,关闭所述“存放所有logcat进程的进程集合”每个进程号对应的监控进程,以优化系统。
步骤205:根据所述监控指令,生成所述被监控进程的日志信息。
在本实施例中,通过执行"adb logcat|grep-E'^[0-9:.-]{18}[]+(被监控进程的进程号1|被监控进程的进程号2|被监控进程的进程号3|...|被监控进程的进程号n)'>./logcat_当前系统时间"命令,生成所有被监控进程的log日志。
这里,所述被监控进程的进程号是根据步骤201的命令中获取的所述被监控进程的当前进程号。
本实施中通过上述方法步骤,当有监控需求,例如,被监控进程的进程号发生了改变时,会以最新记录的进程号作为参数,执行获取当前进程号对应的日志信息的相关命令来获取日志信息,无需手动对进程号进行输入与切换,能快捷地获取所有被监控进程的log日志。
进一步地,在一些实施例中,步骤205之后,还会将获取到的log日志以及获得log日志的系统时间信息进行重定向。可以理解的是,所述将获取到的log日志以及获得log日志的系统时间信息进行重定向,相当于上述实施例所述的将所述日志信息以及生成所述日志信息时对应的系统时间信息一起保存为文本信息。
作为另一可选的是实施例,所述方法还包括:根据所述监控进程命令集合,确定所述被监控进程的进程号是否发生了改变。
实际上,所述监控进程命令集合中每个命令的参数包括:所述被监控进程的历史进程号。
具体地,图3是根据一示例性实施例示出的一种信息处理方法的又一流程图,如图3所示,所述方法包括:
步骤301:记录被监控进程的进程号。
这里,仍以终端的操作系统为安卓系统为例,所述日志信息以log日志为例,其中,所述log日志可以理解为上述实施例所述的adb logcat命令所生成的日志信息。且,本实施例以多线程同时监控N个被监控进程为例。
所述步骤301还可以包括:根据"adb shell ps-f|grep-E logcat|被监控进程名1|被监控进程名2|被监控进程名3|...|被监控进程名n|"命令,获取终端的N被监控进程的进程号以及logcat进程的进程号以及CMD(Command Prompt,命令提示符)。
这里,CMD中的内容格式为logcat–PID(processID,进程号),此logcat进程是在监控进程,例如logcat--PID=16780,表示被监控进程的进程号为16780,在生成log日志。
具体地,记录被监控进程的进程号,可以包括以下子步骤:
第一步:把“存放所有logcat进程的CMD的集合”置空,把当前logcat进程的CMD添加到“存放所有logcat进程的CMD的集合”。
第二步:把“存放所有logcat进程的PID的集合”置空,把当前所有logcat进程的PID添加到“存放所有logcat进程的PID的集合”。
第三步:把“存储被监控进程名1的PID变量”置空,用当前被监控进程名1的PID对“存储被监控进程名1的PID变量”赋值。
第四步:把“存储被监控进程名2的PID变量”置空,用当前被监控进程名2的PID对“存储被监控进程名2的PID变量”赋值。
第五步:把“存储被监控进程名3的PID变量”置空,用当前被监控进程名3的PID对“存储被监控进程名3的PID变量”赋值。
第六步:直到把“存储被监控进程名n的PID变量”置空,用当前被监控进程名n的PID对“存储被监控进程名n的PID变量”赋值,为止。
这里,n等于N。
步骤302:若所述被监控进程的进程号发生了改变,则关闭所记录的监控进程。
在本实施例中,通过遍历“存放所有logcat进程的CMD的集合”,如果集合中对应的被监控进程的PID值与“存储被监控进程名n的PID变量”的值不相等,则说明所述被监控进程的进程号发生了改变,那么关闭该CMD对应的logcat进程。
实际上,这里用当前被监控进程名n的PID对“存储被监控进程名n的PID变量”赋值,实际上可以理解为,将被监控进程名n的当前进程号记录在“存储被监控进程名n的PID变量”。
进一步地,被监控进程名n的PID变量可以作为预设指令的进程号参数,从而基于被监控进程名n的PID变量,生成所述被监控进程的当前进程号对应的日志信息。
进一步地,本实施例中还提供了一种具体生成所述被监控进程的日志信息的方式。
具体地,图4是根据一示例性实施例示出的一种信息处理方法的再一流程图,如图4所示,所述方法包括:
步骤401:确定被监控的进程的进程号是否发生了改变,若是,则执行步骤402,否则,执行步骤404。
这里,所述步骤401,可以包括:确定“存储被监控进程名n的PID变量”是否不为空且不在“存放所有logcat进程的CMD的集合”中每个CMD对应的进程PID中,若是,则执行步骤402,否则执行步骤403。
步骤402:根据所述监控指令,生成所述被监控进程的日志信息。
这里,确定被监控进程的进程号发生了改变,则确定有监控需求,执行步骤402。
所述步骤402,可以包括:执行"adb logcat--PID=“存储被监控进程名n的PID变量”的值"命令,此命令会返回一个输出流。
这里,所述输出流即为上述实施例所述的被监控进程名n的PID变量对应的日志信息。
进一步地,本实施例中,所述方法还可以包括:把“存储被监控进程名n的PID变量”加入到“存放所有logcat进程的CMD的集合”中对应CMD对应的进程PID中,以便能够根据logcat进程的CMD找到对应的被监控进程的进程号。
步骤403:确定是否有生成日志信息,若未有日志信息的输出或者输出空信息,则执行步骤402,否则执行步骤404。
具体地,这里,所述步骤403,可以包括:终端确定输出流是否为空或者输出的内容为空,则执行步骤402,否则执行步骤404。
可以理解的是,在步骤401中判断为否,即“存储被监控进程名n的PID变量”不为空且在“存放所有logcat进程的CMD的集合”中每个CMD对应的进程PID中,也就是说,当前的被监控进程名n的PID未发生改变。这时,如果需要获得未发生改变的被监控进程n的日志信息的话,只需要从原来的CMD集合中,找到PID对应的CMD确定输出流,即为被监控进程n的日志信息。
在该步骤中,再一次确定所述输出流是否为空或者输出的内容是否为空,如果是,则返回步骤402,如果不是,则执行步骤404。
步骤404:读取所述日志信息以及生成所述日志信息对应的系统时间信息。
具体地,所述步骤404,可以包括:读取输出流输出的内容,完成对被监控进程n的logcat的监控。
本实施例提供了一种生成所述被监控进程的日志信息的方式,即当所述被监控进程的进程号没有发生改变时,可以直接提取之前所生成的日志信息,作为被监控进程的日志信息。无需再重新执行一次日志生成的命令,减少系统负担。
图5是根据一示例性实施例示出的一种信息处理装置框图。参照图5,该装置包括第一确定模块51,添加模块52和生成模块53;
所述第一记录模块51,被配置为记录被监控进程的进程号;
所述添加模块52,被配置为在有监控需求时,将记录的所述进程号添加到进程号参数的预设指令中生成监控指令;
所述生成模块53,被配置为根据所述监控指令,生成所述被监控进程的日志信息。
在一个可选的实施例中,所述第一记录模块51,还被配置为:
若所述被监控进程的进程号发生了改变,记录改变后的进程号。
在一个可选的实施例中,所述装置还包括:
第一确定模块,被配置为若所述被监控进程的进程号发生了改变,确定有所述监控需求。
在一个可选的实施例中,所述装置还包括:
比对模块,被配置为比对所述被监控进程的当前进程号与历史进程号得到比对结果;
第二确定模块,被配置为确定所述被监控进程的进程号是否发生了改变。
在一个可选的实施例中,所述第二确定模块,还被配置为:
所述被监控进程的当前进程号不为空且所述被监控进程的历史进程号为空,确定所述被监控进程的进程号发生了改变;
所述被监控进程的当前进程号不同于所述被监控进程的历史进程号,确定所述被监控进程的进程号发生了改变。
在一个可选的实施例中,其特征在于,所述装置还包括:
关闭模块,被配置为若所述被监控进程的进程号发生了改变,则关闭所记录的监控进程;其中,所述监控进程是为了得到所述被监控进程的历史进程号对应的日志信息所生成的。
在一个可选的实施例中,所述关闭模块,还被配置为:
若所述被监控进程的进程号发生了改变,关闭监控进程号集合中每个进程号对应的监控进程;所述监控进程号集合包括:所述监控进程的进程号。
在一个可选的实施例中,所述装置还包括:
第二记录模块,被配置为记录生成所述被监控进程的历史进程号对应的日志信息时所产生的监控进程的进程号;
第三确定模块,被配置为确定所述监控进程的进程号是否在所述监控进程号集合中;
第二记录模块,还被配置为若所述监控进程的进程号不在所述监控进程号集合中,则将所述监控进程的进程号记录在所述监控进程号集合中。
在一个可选的实施例中,所述装置还包括:
读取模块,被配置为读取所述日志信息以及生成所述日志信息时对应的系统时间信息;
保存模块,被配置为将所述日志信息以及生成所述日志信息时对应的系统事件信息一起保存为文本信息。
在一个可选的实施例中,所述被监控进程的个数包括一个或一个以上。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种终端600的框图。例如,终端600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,终端600可以包括以下一个或多个组件:处理组件602,存储器604,电力组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制终端600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在终端600的操作。这些数据的示例包括用于在终端600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件606为终端600的各种组件提供电力。电力组件606可以包括电源管理系统,一个或多个电源,及其他与为终端600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述终端600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当终端600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当终端600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为终端600提供各个方面的状态评估。例如,传感器组件614可以检测到终端600的打开/关闭状态,组件的相对定位,例如所述组件为终端600的显示器和小键盘,传感器组件614还可以检测终端600或终端6000一个组件的位置改变,用户与终端600接触的存在或不存在,终端600方位或加速/减速和终端600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于终端600和其他设备之间有线或无线方式的通信。终端600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由终端600的处理器620执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行上述各实施例所述的信息处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (22)

1.一种信息处理方法,其特征在于,包括:
记录被监控进程的进程号;
在有监控需求时,将记录的所述进程号添加到进程号参数的预设指令中生成监控指令;
根据所述监控指令,生成所述被监控进程的日志信息。
2.根据权利要求1所述的方法,其特征在于,所述记录被监控进程的进程号,包括:
若所述被监控进程的进程号发生了改变,记录改变后的进程号。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若所述被监控进程的进程号发生了改变,确定有所述监控需求。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
比对所述被监控进程的当前进程号与历史进程号得到比对结果;
根据所述比对结果,确定所述被监控进程的进程号是否发生了改变。
5.根据权利要求4所述的方法,其特征在于,确定所述被监控进程的进程号发生了改变,包括以下之一:
所述被监控进程的当前进程号不为空且所述被监控进程的历史进程号为空,确定所述被监控进程的进程号发生了改变;
所述被监控进程的当前进程号不同于所述被监控进程的历史进程号,确定所述被监控进程的进程号发生了改变。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述被监控进程的进程号发生了改变,则关闭所记录的监控进程;其中,所述监控进程是为了得到所述被监控进程的历史进程号对应的日志信息所生成的。
7.根据权利要求6所述的方法,其特征在于,所述关闭所记录的监控进程,包括:
关闭监控进程号集合中每个进程号对应的监控进程;所述监控进程号集合包括:所述监控进程的进程号。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
记录生成所述被监控进程的历史进程号对应的日志信息时所产生的监控进程的进程号;
确定所述监控进程的进程号是否在所述监控进程号集合中;
若所述监控进程的进程号不在所述监控进程号集合中,则将所述监控进程的进程号记录在所述监控进程号集合中。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
读取所述日志信息以及生成所述日志信息时对应的系统时间信息;
将所述日志信息以及生成所述日志信息时对应的系统时间信息一起保存为文本信息。
10.根据权利要求1所述的方法,其特征在于,所述被监控进程的个数包括一个或一个以上。
11.一种信息处理装置,其特征在于,包括:
第一记录模块,被配置为记录被监控进程的进程号;
添加模块,被配置为在有监控需求时,将记录的所述进程号添加到进程号参数的预设指令中生成监控指令;
生成模块,被配置为根据所述监控指令,生成所述被监控进程的日志信息。
12.根据权利要求11所述的装置,其特征在于,所述第一记录模块,还被配置为:
若所述被监控进程的进程号发生了改变,记录改变后的进程号。
13.根据权利要求11或12所述的装置,其特征在于,所述装置还包括:
第一确定模块,被配置为若所述被监控进程的进程号发生了改变,确定有所述监控需求。
14.根据权利要求12所述的装置,其特征在于,所述装置还包括:
比对模块,被配置为比对所述被监控进程的当前进程号与历史进程号得到比对结果;
第二确定模块,被配置为确定所述被监控进程的进程号是否发生了改变。
15.根据权利要求14所述的装置,其特征在于,所述第二确定模块,还被配置为:
所述被监控进程的当前进程号不为空且所述被监控进程的历史进程号为空,确定所述被监控进程的进程号发生了改变;
所述被监控进程的当前进程号不同于所述被监控进程的历史进程号,确定所述被监控进程的进程号发生了改变。
16.根据权利要求13所述的装置,其特征在于,所述装置还包括:
关闭模块,被配置为若所述被监控进程的进程号发生了改变,则关闭所记录的监控进程;其中,所述监控进程是为了得到所述被监控进程的历史进程号对应的日志信息所生成的。
17.根据权利要求16所述的装置,其特征在于,所述关闭模块,还被配置为:
若所述被监控进程的进程号发生了改变,关闭监控进程号集合中每个进程号对应的监控进程;所述监控进程号集合包括:所述监控进程的进程号。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括:
第二记录模块,被配置为记录生成所述被监控进程的历史进程号对应的日志信息时所产生的监控进程的进程号;
第三确定模块,被配置为确定所述监控进程的进程号是否在所述监控进程号集合中;
第二记录模块,还被配置为若所述监控进程的进程号不在所述监控进程号集合中,则将所述监控进程的进程号记录在所述监控进程号集合中。
19.根据权利要求11所述的装置,其特征在于,所述装置还包括:
读取模块,被配置为读取所述日志信息以及生成所述日志信息时对应的系统时间信息;
保存模块,被配置为将所述日志信息以及生成所述日志信息时对应的系统事件信息一起保存为文本信息。
20.根据权利要求11所述的装置,其特征在于,所述被监控进程的个数包括一个或一个以上。
21.一种终端,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
记录被监控进程的进程号;
在有监控需求时,将记录的所述进程号添加到进程号参数的预设指令中生成监控指令;
根据所述监控指令,生成所述被监控进程的日志信息。
22.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行实现权利要求1至10中任一项所述的方法步骤。
CN201910780335.2A 2019-08-22 2019-08-22 一种信息处理、装置、终端及存储介质 Pending CN112416697A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910780335.2A CN112416697A (zh) 2019-08-22 2019-08-22 一种信息处理、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910780335.2A CN112416697A (zh) 2019-08-22 2019-08-22 一种信息处理、装置、终端及存储介质

Publications (1)

Publication Number Publication Date
CN112416697A true CN112416697A (zh) 2021-02-26

Family

ID=74779980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910780335.2A Pending CN112416697A (zh) 2019-08-22 2019-08-22 一种信息处理、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN112416697A (zh)

Similar Documents

Publication Publication Date Title
CN106970754B (zh) 截屏处理的方法及装置
WO2020192311A1 (zh) 主从服务器切换方法、装置、电子设备及存储介质
CN104951335B (zh) 应用程序安装包的处理方法及装置
CN107291626B (zh) 数据存储方法和装置
JP6328762B2 (ja) シャットダウン状態におけるリマインドのための方法及び装置
CN111273899A (zh) 代码处理方法、装置、电子设备及存储介质
CN111427449A (zh) 界面显示方法、装置及存储介质
EP3460717A1 (en) Method, apparatus, terminal, and computer-readable storage medium for processing fingerprints
CN112416697A (zh) 一种信息处理、装置、终端及存储介质
CN113064739A (zh) 线程间通信方法、装置、电子设备及存储介质
CN108449625B (zh) 视频截图方法、装置及终端
CN112631695A (zh) 一种数据校验方法、装置、电子设备及存储介质
CN111880696B (zh) 一种基于百科的数据处理方法及装置
CN114020504B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN111596949B (zh) 一种开发应用程序的方法及装置
CN114115025B (zh) 基于自动驾驶系统的故障信息的保存方法、装置和设备
CN110659081B (zh) 用于程序对象的文件处理方法、装置及电子设备
CN110311968B (zh) 流式加载文件的方法、装置及智能设备
CN113946346B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN114531493B (zh) 一种请求处理方法、装置、电子设备及存储介质
CN113535183B (zh) 代码处理方法、装置、电子设备及存储介质
CN114416085A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN115129282A (zh) 显示模组识别方法及装置、终端、存储介质
CN114661606A (zh) 程序调试方法、装置、电子设备及存储介质
CN115982024A (zh) 测试脚本生成方法、设备、存储介质及程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination