[发明专利]一种Linux系统的热键交互系统及方法在审
| 申请号: | 201810453257.0 | 申请日: | 2018-05-14 |
| 公开(公告)号: | CN108647103A | 公开(公告)日: | 2018-10-12 |
| 发明(设计)人: | 汪革;芶利平;毛竹林;黄炯业 | 申请(专利权)人: | 上海泰砚通信技术有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/4401 |
| 代理公司: | 上海天翔知识产权代理有限公司 31224 | 代理人: | 刘常宝 |
| 地址: | 201507 上海市金山区金*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 热键 交互系统 热键功能 内核态 用户态 调试 用户态程序 定位系统 获取系统 模块运行 系统交互 命令行 内核 研发 | ||
本发明公开了一种Linux系统的热键交互系统及方法,该方案主要包含内核态和用户态两部分:内核态部分负责热键识别,同时可以用于调试内核;用户态部分负责调试用户态程序,且实现二次热键功能。本发明适用于命令行无法正常使用时,研发人员可以通过热键与系统交互,获取系统中各模块运行状态的信息,从而定位系统BUG;并且,通过二次热键功能,提升了热键资源的利用效率。
技术领域
本发明涉及软件系统技术,具体涉及软件系统中热键交互技术。
背景技术
当前在Linux系统中,用户主要是通过命令行与系统进行交互,当系统异常无法进入命令行时,用户就没办法获取系统异常信息,无法快捷方便的定位问题、解决问题。
发明内容
针对现有Linux系统交互方案所存在的问题,需要一种新的系统交互方案,用于当命令行无法使用时帮助用户定位系统问题。
为此,本发明的目的在于提供一种Linux系统的热键交互系统以及相应的热键交互方法,以克服现有方案所存在的缺陷。
为了达到上述目的,本发明提供的Linux系统的热键交互系统分为内核态热键处理和用户态热键处理,所述热键交互系统包括计算机程序指令,所述计算机程序指令使计算机实现:
在内核TTY驱动中添加热键回调;
内核态热键处理,识别热键;
用户态热键处理,调试用户态程序,且实现二次热键功能。
进一步的,所述热键回调是在各驱动向TTY提交字符的统一接口中增加热键回调。
进一步的,所述内核态热键处理,通过任务监控热键,再通过tasklet对热键进行处理,然后判断热键是否需要送达用户态处理,如果需要则用send_sig向监控任务发送SIGUSR1信号,将热键送往用户态进行处理。
进一步的,所述用户态热键处理,先更改对SIGUSR1信号的处理,当收到SIGUSR1信号时,会先向热键内核模块请求热键信息,如果是一次热键模式且包含多个已注册二次热键,则打印所有的二次热键,如果是二次热键模式且是已注册二次热键,则调用注册的回调函数。
为了达到上述目的,本发明提供的Linux系统的热键交互方法,所述热键交互方法包括步骤:
在内核TTY驱动中添加热键回调;
进行内核态热键处理,识别热键;
进行用户态热键处理,调试用户态程序,且实现二次热键功能。
进一步的,所述热键交互方法的过程如下:
当TTY驱动接收字符时,通过内核态热键模块注册的热键回调函数判断该字符是否是热键;
如果是则内核态热键模块对该字符进行处理,若需要送往用户态热键模块处理,则通过send_sig向监控任务发送SIGUSR1信号,然后将由用户态进行热键处理;
用户态进行热键处理时,先更改对SIGUSR1信号的处理,当收到SIGUSR1信号时,会先向热键内核模块请求热键信息,如果是一次热键模式且包含多个已注册二次热键,则打印所有的二次热键,如果是二次热键模式且是已注册二次热键,则调用注册的回调函数。
本发明提供的方案采用热键交互技术,提供当VTY模块异常时的系统调试解决方案,可有效解决现有技术所存在的缺陷。
本发明提供的方案适用于命令行无法正常使用时,研发人员可以通过热键与系统交互,获取系统中各模块运行状态的信息,从而定位系统BUG;并且,通过二次热键功能,提升了热键资源的利用效率。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海泰砚通信技术有限公司,未经上海泰砚通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810453257.0/2.html,转载请声明来源钻瓜专利网。





