关于watch命令的一些问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
ryt
帖子: 95
注册时间: 2014-10-08 20:50
系统: ubuntu 14.04

关于watch命令的一些问题

#1

帖子 ryt » 2015-01-07 17:56

为什么执行命令watch -d top,显示的结果很奇怪,如下:

Every 2.0s: top Wed Jan 7 17:55:17 2015

^[?1h^=^[?25l^[H^[2J^(B^[mtop - 17:55:18 up 1:29, 2 users, load average: 0.25, 0.25, 0.27^(B^[m^[39;49m^(B^[m^[39;49m^[K
Tasks:^(B^[m^[39;49m^[1m 211 ^(B^[m^[39;49mtotal,^(B^[m^[39;49m^[1m 1 ^(B^[m^[39;49mrunning,^(B^[m^[39;49m^[1m 210 ^(B^[m^[39;49msleeping,^(B^[m^[39;
49m^[1m 0 ^(B^[m^[39;49mstopped,^(B^[m^[39;49m^[1m 0 ^(B^[m^[39;49mzombie^(B^[m^[39;49m^(B^[m^[39;49m^[K
%Cpu(s):^(B^[m^[39;49m^[1m 5.8 ^(B^[m^[39;49mus,^(B^[m^[39;49m^[1m 2.0 ^(B^[m^[39;49msy,^(B^[m^[39;49m^[1m 0.0 ^(B^[m^[39;49mni,^(B^[m^[39;49m^[1m 9
0.9 ^(B^[m^[39;49mid,^(B^[m^[39;49m^[1m 1.4 ^(B^[m^[39;49mwa,^(B^[m^[39;49m^[1m 0.0 ^(B^[m^[39;49mhi,^(B^[m^[39;49m^[1m 0.0 ^(B^[m^[39;49msi,^(B^[m^
[39;49m^[1m 0.0 ^(B^[m^[39;49mst^(B^[m^[39;49m^(B^[m^[39;49m^[K
KiB Mem: ^(B^[m^[39;49m^[1m 1988032 ^(B^[m^[39;49mtotal,^(B^[m^[39;49m^[1m 1709340 ^(B^[m^[39;49mused,^(B^[m^[39;49m^[1m 278692 ^(B^[m^[39;49mfree,
^(B^[m^[39;49m^[1m 133448 ^(B^[m^[39;49mbuffers^(B^[m^[39;49m^(B^[m^[39;49m^[K
KiB Swap:^(B^[m^[39;49m^[1m 2018300 ^(B^[m^[39;49mtotal,^(B^[m^[39;49m^[1m 0 ^(B^[m^[39;49mused,^(B^[m^[39;49m^[1m 2018300 ^(B^[m^[39;49mfree.
^(B^[m^[39;49m^[1m 688100 ^(B^[m^[39;49mcached Mem^(B^[m^[39;49m^(B^[m^[39;49m^[K
^[K
^[7m PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
^(B^[m^[39;49m^[K
^(B^[m^[1m 4642 ryt 20 0 5552 1404 980 R 12.5 0.1 0:00.02 top
^(B^[m^[39;49m^[K
^(B^[m 1 root 20 0 4576 2560 1436 S 0.0 0.1 0:01.92 init
^(B^[m^[39;49m^[K
^(B^[m 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
^(B^[m^[39;49m^[K
^(B^[m 3 root 20 0 0 0 0 S 0.0 0.0 0:00.52 ksoftirqd/0
^(B^[m^[39;49m^[K
^(B^[m 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
^(B^[m^[39;49m^[K
^(B^[m 7 root 20 0 0 0 0 S 0.0 0.0 0:07.52 rcu_sched
^(B^[m^[39;49m^[K
^(B^[m 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
^(B^[m^[39;49m^[K
^(B^[m 9 root rt 0 0 0 0 S 0.0 0.0 0:00.04 migration/0
^(B^[m^[39;49m^[K
^(B^[m 10 root rt 0 0 0 0 S 0.0 0.0 0:00.02 watchdog/0
^(B^[m^[39;49m^[K
^(B^[m 11 root rt 0 0 0 0 S 0.0 0.0 0:00.02 watchdog/1
^(B^[m^[39;49m^[K
^(B^[m 12 root rt 0 0 0 0 S 0.0 0.0 0:00.08 migration/1
^(B^[m^[39;49m^[K
^(B^[m 13 root 20 0 0 0 0 S 0.0 0.0 0:00.39 ksoftirqd/1
^(B^[m^[39;49m^[K
^(B^[m 15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H
^(B^[m^[39;49m^[K
^(B^[m 16 root rt 0 0 0 0 S 0.0 0.0 0:00.02 watchdog/2

请大家指教
rosynirvana
帖子: 893
注册时间: 2011-02-14 17:46

Re: 关于watch命令的一些问题

#2

帖子 rosynirvana » 2015-01-07 18:25

那些是终端的转义字符,你查一下就知道
另外top自己会刷新,为何要watch top
头像
susbarbatus
帖子: 2966
注册时间: 2010-04-10 16:14
系统: Arch Linux

Re: 关于watch命令的一些问题

#3

帖子 susbarbatus » 2015-01-07 18:29

因为 top 用了一些控制字符来获得特定显示效果,
终端能识别这些控制字符并显示了相应的结果,如 字体加粗、对齐、背景高亮等等,
而 watch 等工具只能识别纯文本,展示的时候将这些控制字符当作文本直接显示出来了。
关于这些控制字符,详细可以

代码: 全选

man 4 console_codes
沉迷将棋中……
ryt
帖子: 95
注册时间: 2014-10-08 20:50
系统: ubuntu 14.04

Re: 关于watch命令的一些问题

#4

帖子 ryt » 2015-01-08 21:34

rosynirvana 写了:那些是终端的转义字符,你查一下就知道
另外top自己会刷新,为何要watch top
只是试一下watch这个命令
ryt
帖子: 95
注册时间: 2014-10-08 20:50
系统: ubuntu 14.04

Re: 关于watch命令的一些问题

#5

帖子 ryt » 2015-01-08 21:36

susbarbatus 写了:因为 top 用了一些控制字符来获得特定显示效果,
终端能识别这些控制字符并显示了相应的结果,如 字体加粗、对齐、背景高亮等等,
而 watch 等工具只能识别纯文本,展示的时候将这些控制字符当作文本直接显示出来了。
关于这些控制字符,详细可以

代码: 全选

man 4 console_codes
明白了,谢谢 :em01
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 关于watch命令的一些问题

#6

帖子 vickycq » 2015-01-08 23:30

搭车问一下如何watch多个命令? 直接用&不行。

[EDIT] 试出来了,用引号括起来即可:

代码: 全选

watch -n 2 'commandA & commandB'
:em01
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
回复