VT100 控制字符

VT100 控制字符,第1张

串口有时候会收到一些奇怪的乱码 比如:

这个乱码在decode之前是这样的:

这些其实是VT100的控制命令

\033 是八进制,是ESC的ASCII 码。ESC是控制命令的开头,后面的是具体的命令。

参考连接: http://braun-home.net/michael/info/misc/VT100_commands.htm

在Linux 的bash 下,可以用echo -e 来测试。

答:有

请参考:

https://github.com/selectel/pyte

https://pypi.org/project/colorama/

pstree

pstree显示正在运行的进程的树形结构,树以PID为根;如果省略了pid则以init为根。如果指定了用户名,则显示根植于该用户拥有的进程的所有进程树。如果pstree被调用为pstree.x11,那么它将提示行尾的用户按RETURE,并且在这种情况发生之前不会返回。这对于在x终端中运行pstree非常有用。

pstree通过将相同的分支放在方括号中并以重复计数作为前缀,在视觉上合并它们。例如:

init-+-getty

|-getty

|-getty

‘-getty

变成下面的样子

init---4*[getty]

进程的子线程在父进程下找到,并以大括号显示进程名,例如:

icecast2---13*[{icecast2}]

此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法

pstree [选项]

2、选项列表

选项

说明

-a

显示每个进程的完整指令,包括路径、参数

-A

使用ascii码显示树形

-c

关闭精简表示法

-G

使用VT 100线条绘制字符

-h

高亮显示正在执行的程序

-H

类似“-h”,但是突出显示指定的进程。与-h不同,如果高亮显示不可用,pstree在使用-H时会失败。

-l

长格式显示

-n

以进程号排序,默认以名字排序

-p

显示pid

-u

显示用户

-U

以utf-8显示字符

-V

显示命令版本信息

-Z

每个SELinux的上下文

3、实例

1)显示完成的树形结构

[root@localhost ~]# pstree -a

init

├─NetworkManager --pid-file=/var/run/NetworkManager/NetworkManager.pid

│ ├─dhclient -d -4 -sf /usr/libexec/nm-dhcp-client.action -pf /var/run/dhclient-eth0.pid ...

│ └─{NetworkManager}

├─VBoxClient --clipboard

│ └─VBoxClient --clipboard

2)显示进程号

[root@localhost ~]# pstree -p

init(1)─┬─NetworkManager(6362)─┬─dhclient(6377)

│ └─{NetworkManager}(6379)

├─VBoxClient(7869)───VBoxClient(7870)───{VBoxClient}(7872)

├─VBoxClient(7882)───VBoxClient(7883)

├─VBoxClient(7890)───VBoxClient(7891)───{VBoxClient}(7894)

├─VBoxClient(7898)───VBoxClient(7899)─┬─{VBoxClient}(7901)

│└─{VBoxClient}(7903)

├─VBoxClient(7306)───VBoxClient(7308)

├─VBoxClient(7312)───VBoxClient(7314)───{VBoxClient}(7317)

├─VBoxClient(7318)───VBoxClient(7320)─┬─{VBoxClient}(7323)

│└─{VBoxClient}(7325)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6267552.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存