1

有人告诉我,当尺寸类别中的任何值超过阈值时,让 prstat 将背景从白色闪烁几次。有没有办法编辑命令并将其放在这里或者这永远不会发生?

4

1 回答 1

1

我并不是要刻薄,但是提出这个要求的人是不合理或不理解的。我猜“提问者”对prstat一无所知。看看这两个例子:

example% prstat -u root -n 5 -P 1,2 1 1

PID   USERNAME  SWAP   RSS STATE  PRI  NICE      TIME  CPU PROCESS/LWP
 306   root     3024K 1448K sleep   58    0   0:00.00 0.3% sendmail/1
 102   root     1600K  592K sleep   59    0   0:00.00 0.1% in.rdisc/1
 250   root     1000K  552K sleep   58    0   0:00.00 0.0% utmpd/1
 288   root     1720K 1032K sleep   58    0   0:00.00 0.0% sac/1
   1   root      744K  168K sleep   58    0   0:00.00 0.0% init/1
TOTAL:       25, load averages:  0.05, 0.08, 0.12


example% prstat -S rss -n 5 -vc -u root,john

 PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
   1 root     0.0 0.0  -   -   -   -  100  -    0   0   0   0 init/1
 102 root     0.0 0.0  -   -   -   -  100  -    0   0   3   0 in.rdisc/1
 250 root     0.0 0.0  -   -   -   -  100  -    0   0   0   0 utmpd/1
1185 john    0.0 0.0  -   -   -   -  100  -    0   0   0   0 csh/1
 240 root     0.0 0.0  -   -   -   -  100  -    0   0   0   0 powerd/4
 TOTAL:       71, load averages:  0.02, 0.04, 0.08

那么,您要寻找什么价值?prstat 显示了很多东西,因此您必须学习所有这些内容,然后为许多可能的输出中的每一个进行编码。

去做这个:

您需要做的是在子进程中使用在命令行中输入的参数运行 prstat,读取并解释它生成的所有内容,然后将其映射到输出并根据需要闪烁屏幕。您可以使用 ksh 或 zsh 中的协同进程或在 bash 中使用 fifos 来完成此操作。无论用户输入什么,都考虑在 -e 模式下运行 prtstat,这样您就可以全屏阅读和操作。

可以使用转义序列来闪烁屏幕,例如更改背景颜色或任何您想要的。这是基于 Windows 的终端的起点:

ANSI 转义序列

对于 Vt100 (UNIX)

终端转义码

于 2013-04-19T01:12:54.423 回答