CN105278927A - 打印消息获取方法及装置 - Google Patents
打印消息获取方法及装置 Download PDFInfo
- Publication number
- CN105278927A CN105278927A CN201410257469.3A CN201410257469A CN105278927A CN 105278927 A CN105278927 A CN 105278927A CN 201410257469 A CN201410257469 A CN 201410257469A CN 105278927 A CN105278927 A CN 105278927A
- Authority
- CN
- China
- Prior art keywords
- printmessage
- memory device
- kernel
- redirected
- printing message
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
本发明公开了一种打印消息获取方法及装置,包括:获取设备输出的打印消息;将所述打印消息重定向到设定的存储设备中。本发明可以远程对设备的Linux内核问题进行定位,而不需人员到设备现场,提高开发人员定位故障的效率,进而提高维护效率,特别是设备在偏远地区,本发明的技术优势更明显。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种打印消息获取方法及装置。
背景技术
Linux(里纽克斯)作为一种免费使用的操作系统,目前在产品开发中使用越来越多。Linux内核实时输出的打印消息和普通进程的打印消息通常只在确定的终端上显示。如在连接显示器的Linux机器上,Linux内核输出通常会显示到显示器上;在嵌入式Linux设备上,Linux内核输出通常会输出到串口设备上。Linux内核输出的打印消息只能在本地显示查看,这样导致的一个弊端是当设备现场运行过程中,Linux内核出现问题,人员必须要赶到现场来进行获取打印信息,给设备维护带来很大不便。
发明内容
本发明要解决的技术问题是提供一种打印消息获取方法及装置,用以解决现有技术中Linux内核输出的打印消息只能在本地显示查看的问题。
为解决上述技术问题,一方面,本发明提供一种打印消息获取方法,包括:
获取设备输出的打印消息;
将所述打印消息重定向到设定的存储设备中。
进一步,当所述打印消息为里纽克斯Linux系统的内核打印消息时,通过Linux系统提供的Syslog接口从缓存器Buffer中获取所述内核打印消息。
进一步,当所述打印消息为里纽克斯Linux系统的进程打印消息时,通过每个进程对应的文件打开表获取该进程的进程打印消息。
进一步,将所述打印消息重定向到设定的存储设备中是指将所述打印消息复制到设定的存储设备中。
进一步,所述存储设备为通用串行总线USB接口存储设备。
另一方面,本发明还提供一种打印消息获取装置,包括:
打印消息获取单元,用于获取设备输出的打印消息;
重定向单元,用于将所述打印消息重定向到设定的存储设备中。
进一步,所述打印消息获取单元还用于:
当所述打印消息为里纽克斯Linux系统的内核打印消息时,通过Linux系统提供的Syslog接口从缓存器Buffer中获取所述内核打印消息。
进一步,所述打印消息获取单元还用于:
当所述打印消息为里纽克斯Linux系统的进程打印消息时,通过每个进程对应的文件打开表获取该进程的进程打印消息。
进一步,所述重定向单元将所述打印消息重定向到设定的存储设备中,是指将所述打印消息复制到设定的存储设备中。
进一步,所述存储设备为通用串行总线USB接口存储设备。
本发明有益效果如下:
本发明提供一种获取打印消息的方法和装置,可以远程对设备的Linux内核问题进行定位,而不需人员到设备现场,提高开发人员定位故障的效率,进而提高维护效率,特别是设备在偏远地区,本发明的技术优势更明显。
附图说明
图1是本发明实施例中一种打印消息获取方法的流程图;
图2是本发明实施例中一种打印消息获取装置的结构示意图。
具体实施方式
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
如图1所示,本发明实施例涉及一种打印消息获取方法,包括:
步骤S101,获取设备输出的打印消息;
本步骤中,打印消息包括内核打印消息和/或进程打印消息。
Linux内核打印信息实时输出直接调用printk()内核函数。从内部实现机理看,Linux内核维护一个内核实时信息输出设备列表(console_drivers),有内核打印信息输出时,将遍历这个设备列表,将内核打印消息输出到所有的设备中。Linux内核会把内核打印消息缓存到内部的buffer(缓存区)中,为了获取内核的这些打印,需要从buffer中取出来然后重定向到usb接口存储设备中。Linux内核会把内核的打印消息缓存到内部的buffer中,Linux提供了syslog接口,可以非常方便地获取到内核打印消息。
Linux系统的普通进程的打印消息是通过调用printf()函数实现的。缺省情况下进程的打印消息会输出到标准输出上,单板缺省的标准输出就是串口,所以为了获取进程的打印消息,需要对进程的标准输出进行重定向。在Linux系统中,Linux内核为系统中每个进程提供了一个文件打开表,其中文件打开表的前三项0、1、2分别是标准输入,标准输出,标准错误输出。我们只关注进程的输出。为了获取指定进程的打印消息,需要启动所需要的进程,然后对进程的标准输出进行重定向,以获取进程打印消息。
步骤S102,将所述打印消息重定向到设定的存储设备中。
在已经获取到内核打印消息和进程打印消息后,本步骤就是执行具体的重定向操作,因此,也是实现打印消息到usb接口存储设备的关键步骤。
下面,通过具体线程详细描述本发明技术方案。为了实现获取打印消息,需要启用几个内核线程:
usbscan线程负责usb打印重定向功能的开启和关闭,该线程会扫描usb接口存储设备的根目录下是否存在指定文件,如果存在,则启动usb打印重定向功能,如果不存在,则关闭usb打印重定向功能。
synlog线程负责把内核打印消息重定向到系统临时文件中;
usbcmdscan线程负责执行用户指定的程序或者脚本文件,该线程会将用户指定的程序或者脚本文件的标准输出重定向到系统临时文件中;
usbsyn线程负责把打印消息同步到usb接口设备中,该线程周期性地把缓存在系统的临时文件同步到usb接口存储设备中。
为了能够将打印消息重定向到usb接口设备中,需要一个file结构,然后调用如下的函数完成重定向操作。
通过以上步骤,实现了将Linux系统中打印信息输出到usb接口存储设备中,实现简单,对设备进行维护时,执行简捷,很大的方便了对设备的维护,提高开发人员定位单板故障的效率。
如图2所示,本发明实施例还涉及一种实现上述方法的打印消息获取装置,其特征在于,包括:
打印消息获取单元201,用于获取设备输出的打印消息;
重定向单元202,用于将所述打印消息重定向到设定的存储设备中。
其中,打印消息获取单元201还用于:
当所述打印消息为里纽克斯Linux系统的内核打印消息时,通过Linux系统提供的Syslog接口从缓存器Buffer中获取所述内核打印消息;
当所述打印消息为里纽克斯Linux系统的进程打印消息时,通过每个进程对应的文件打开表获取该进程的进程打印消息。
重定向单元202将所述打印消息重定向到设定的存储设备中,是指将所述打印消息复制到设定的存储设备中;其中,存储设备为通用串行总线USB接口存储设备。
本发明提供一种获取打印消息的方法和装置,可以远程对设备的Linux内核问题进行定位,而不需人员到设备现场,提高开发人员定位故障的效率,进而提高维护效率,特别是设备在偏远地区,本发明的技术优势更明显。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (10)
1.一种打印消息获取方法,其特征在于,包括:
获取设备输出的打印消息;
将所述打印消息重定向到设定的存储设备中。
2.如权利要求1所述的打印消息获取方法,其特征在于,当所述打印消息为里纽克斯Linux系统的内核打印消息时,通过Linux系统提供的Syslog接口从缓存器Buffer中获取所述内核打印消息。
3.如权利要求1或2所述的打印消息获取方法,其特征在于,当所述打印消息为里纽克斯Linux系统的进程打印消息时,通过每个进程对应的文件打开表获取该进程的进程打印消息。
4.如权利要求3所述的打印消息获取方法,其特征在于,将所述打印消息重定向到设定的存储设备中是指将所述打印消息复制到设定的存储设备中。
5.如权利要求1、2或4所述的打印消息获取方法,其特征在于,所述存储设备为通用串行总线USB接口存储设备。
6.一种打印消息获取装置,其特征在于,包括:
打印消息获取单元,用于获取设备输出的打印消息;
重定向单元,用于将所述打印消息重定向到设定的存储设备中。
7.如权利要求6所述的打印消息获取装置,其特征在于,所述打印消息获取单元还用于:
当所述打印消息为里纽克斯Linux系统的内核打印消息时,通过Linux系统提供的Syslog接口从缓存器Buffer中获取所述内核打印消息。
8.如权利要求6或7所述的打印消息获取装置,其特征在于,所述打印消息获取单元还用于:
当所述打印消息为里纽克斯Linux系统的进程打印消息时,通过每个进程对应的文件打开表获取该进程的进程打印消息。
9.如权利要求8所述的打印消息获取装置,其特征在于,所述重定向单元将所述打印消息重定向到设定的存储设备中,是指将所述打印消息复制到设定的存储设备中。
10.如权利要求6、7或9所述的打印消息获取装置,其特征在于,所述存储设备为通用串行总线USB接口存储设备。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410257469.3A CN105278927A (zh) | 2014-06-11 | 2014-06-11 | 打印消息获取方法及装置 |
PCT/CN2014/085061 WO2015188457A1 (zh) | 2014-06-11 | 2014-08-22 | 打印消息获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410257469.3A CN105278927A (zh) | 2014-06-11 | 2014-06-11 | 打印消息获取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105278927A true CN105278927A (zh) | 2016-01-27 |
Family
ID=54832780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410257469.3A Withdrawn CN105278927A (zh) | 2014-06-11 | 2014-06-11 | 打印消息获取方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105278927A (zh) |
WO (1) | WO2015188457A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908576A (zh) * | 2017-12-08 | 2018-04-13 | 上海市共进通信技术有限公司 | 实现重定向应用程序标准输出控制的方法 |
CN111045977A (zh) * | 2019-12-18 | 2020-04-21 | 深圳先进技术研究院 | Linux系统控制台的USB串口实现方法及相关产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800843A (zh) * | 2010-04-22 | 2010-08-11 | 四川长虹电器股份有限公司 | 一种机顶盒抓取打印信息的方法 |
CN102289368A (zh) * | 2011-06-17 | 2011-12-21 | 中兴通讯股份有限公司 | 一种获取串口打印信息的方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100461928C (zh) * | 2006-09-30 | 2009-02-11 | 华为技术有限公司 | 一种实现单板设备串口重定向的装置和方法 |
CN101340314A (zh) * | 2008-08-11 | 2009-01-07 | 中兴通讯股份有限公司 | 一种嵌入式系统的实时调试定位方法及其装置 |
US9137338B2 (en) * | 2010-01-22 | 2015-09-15 | Microsoft Technology Licensing, Llc | Multi-link remote protocol |
CN102609349A (zh) * | 2012-02-08 | 2012-07-25 | 北京百度网讯科技有限公司 | 服务器故障截屏方法及系统 |
-
2014
- 2014-06-11 CN CN201410257469.3A patent/CN105278927A/zh not_active Withdrawn
- 2014-08-22 WO PCT/CN2014/085061 patent/WO2015188457A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800843A (zh) * | 2010-04-22 | 2010-08-11 | 四川长虹电器股份有限公司 | 一种机顶盒抓取打印信息的方法 |
CN102289368A (zh) * | 2011-06-17 | 2011-12-21 | 中兴通讯股份有限公司 | 一种获取串口打印信息的方法及系统 |
Non-Patent Citations (1)
Title |
---|
奚海蛟等著: "《嵌入式LINUX驱动程序实战开发》", 30 October 2012 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908576A (zh) * | 2017-12-08 | 2018-04-13 | 上海市共进通信技术有限公司 | 实现重定向应用程序标准输出控制的方法 |
CN111045977A (zh) * | 2019-12-18 | 2020-04-21 | 深圳先进技术研究院 | Linux系统控制台的USB串口实现方法及相关产品 |
WO2021120960A1 (zh) * | 2019-12-18 | 2021-06-24 | 深圳先进技术研究院 | Linux系统控制台的USB串口实现方法及相关产品 |
CN111045977B (zh) * | 2019-12-18 | 2021-07-27 | 深圳先进技术研究院 | Linux系统控制台的USB串口实现方法及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2015188457A1 (zh) | 2015-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN203025673U (zh) | 多屏联动触控显示系统 | |
CN104199723B (zh) | 基于虚拟设备的摄像头映射方法 | |
Tang et al. | Extraction of energy information from analog meters using image processing | |
CN106020092B (zh) | 焊机远程监控系统 | |
CN105915628B (zh) | 一种手机系统远程控制调试方法、系统和装置 | |
CN204759403U (zh) | 一种基于数据透传实现设备内部模块升级的系统 | |
CN107819611B (zh) | 基于iec61850多服务端仿真的客户端测试方法 | |
CN102436339A (zh) | 模式对话框的显示控制方法及装置 | |
CN105426169B (zh) | 一种Windows系统下自动化调整网卡识别顺序的方法 | |
CN102521087A (zh) | 一种远程获取内核模块实时分级调试信息的系统及方法 | |
CN109032828A (zh) | 应用异常处理方法及终端 | |
CN109104305A (zh) | 一种节点增加方法及相关装置 | |
CN105611190A (zh) | 拼接墙回显系统及其回显方法 | |
CN103338125A (zh) | 一种批量配置网络设备的方法 | |
CN107463492A (zh) | 应用程序故障定位方法及装置 | |
CN105278927A (zh) | 打印消息获取方法及装置 | |
CN102902526A (zh) | 一种通过延时实现bmc及ip信息的自动化设置方法 | |
CN105141484A (zh) | 基于云服务器的安卓设备远程调试方法 | |
CN102880479B (zh) | 一种远程修改bios属性参数的方法及装置 | |
CN103677845A (zh) | 一种网站应用部署方法 | |
CN103927257A (zh) | 一种安卓行为事件的触发方法和触发装置 | |
CN102662617A (zh) | 一种kvm中vga信号切换的实现方法 | |
CN104217314A (zh) | 路由信息抓取方法和装置 | |
CN108965382A (zh) | 一种基于bmc的文件传输方法、装置、设备及介质 | |
WO2018040966A1 (zh) | 一种便于现场定位支付终端故障的方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20160127 |