千家信息网

Arthas中shell如何交互

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要介绍了Arthas中shell如何交互,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Arthas(阿尔萨斯)在bootst
千家信息网最后更新 2025年01月25日Arthas中shell如何交互

这篇文章主要介绍了Arthas中shell如何交互,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Arthas(阿尔萨斯)在bootstrap过程中,会在目标java进程内部启动一个shell server。shell server将在特定端口监听telnet/http协议,解析并执行用户发送的命令。

shell相关主要类图如下:

ShellServerImpl - shell server实例,负责监听用户请求。

TelnetTermServer - telnet协议对应的监听/解析器。

ShellImpl - 对于每一个连入的用户,都会创建一个对应的ShellImpl实例用来管理该用户的session。

JobControllerImpl - 解析命令行输入,创建为对应的Job。

TermImpl - 对应每个交互终端。

JobImpl/ProcessImpl - 对于实际运行command的封装。ProcessImpl封装进程相关信息,包含各种信号量回调handler(interrupt/suspend/resume/background/foreground等等)。

AnnotatedCommandImpl - 对于运行command的引用。

Shell相关的工作流程如下图:

TelnetTermServer在接受到用户请求之后,会创建一个ShellImpl来跟踪用户session,同时触发TermImpl上的readline操作,等待用户输入请求。

当用户输入命令之后,会被ShellLineHandler捕捉到,继而通过ShellImpl/JobControllerImpl创建对应的ProcessImpl/JobImpl,以及上下文封装类CommandProcessImpl,和command引用类AnnotatedCommandImpl。最后通过JobImpl.run来运行实际的command。

感谢你能够认真阅读完这篇文章,希望小编分享的"Arthas中shell如何交互"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

用户 篇文章 命令 封装 监听 输入 运行 会创 同时 实例 实际 进程 上下 上下文 价值 信号 信息 兴趣 工作流程 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 英雄联盟赛事用的是专用服务器吗 王者服务器第一次崩溃是什么时候 移动网络安全边界 小学信息技术教案网络安全 北京校园招聘网络安全工作 魔兽世界旧世经典服务器人口普查 合肥市网络安全管理规定 互联网金融浅橙科技 苏州企业软件开发常见问题 实验三 数据库更新和视图操作 陕西商友会网络技术有限公司 南京网站服务器供应商 网络安全办案电话 钱宝软件开发者被判刑了吗 上海交通银行软件开发待遇怎么样 jatd艺术认证数据库 网络技术的稀缺资源 数据库提取到前端步骤 主流网络安全产品fw 海康vlc转发服务器搭建 外部数据库1.执行 网络安全手抄报有些什么 本地网络怎么搭建服务器 在数据库什么模型是一棵倒立树 网络安全封面简易 京东易抢软件数据库连接失败 网络技术有什么证考 存储服务器开源软件 廊坊网络安全 数据库是由 构成的
0