/usr/ucb/ps输出重定向截断线



/usr/usr/ucb/ps命令输出到屏幕显示长列表设想变量及其值,但是当将输出重定向到文件时,会产生截断的线路。

如何解释这一点?

bash-3.2$ /usr/ucb/ps -auxwee 6543 >/var/tmp/env-var 2>&1
bash-3.2$ cat /var/tmp/env-var
USER       PID %CPU %MEM   SZ  RSS TT       S    START  TIME COMMAND
alcrprun  6543  0.0  0.0 8752 5992 ?        S 19:35:01  0:15 /usr/bin/python -Bu ./bin/dpfoservice.py CFG_HOME=/opt/apps/algo/algoS
bash-3.2$ /usr/ucb/ps -auxwee 6543
USER       PID %CPU %MEM   SZ  RSS TT       S    START  TIME COMMAND
alcrprun  6543  0.0  0.0 8752 5992 ?        S 19:35:01  0:15 /usr/bin/python -Bu ./bin/dpfoservice.py CFG_HOME=/opt/apps/algo/algoSuite.current.solaris.alcr/cfg RISK_HOME=/opt/apps/algo/algoSuite.current.solaris.alcr/risk++ ALGO_HOME=/opt/apps/algo/algoSuite.current.solaris.alcr ARE_HOME=/opt/apps/algo/algoSuite.current.solaris.alcr/aggregation/are 
...
...

它将132宽输出打印到文件,因为这就是-w参数所做的。根据ps.1b人页面:

-w

使用广泛的输出格式(132列而不是80列);如果重复,即-ww,请使用任意宽的输出。此信息 用于决定要打印多少长命令。

如果要任意宽度输出,请使用-ww而不是-w

仅使用-w选项并且输出是终端窗口时,/usr/ucb/ps似乎可以检测我的Solaris 11副本上的端子宽度 - 更改窗口的宽度会修改仅使用-w选项发出的输出量。该行为的文档可能埋在Solaris Man页面上的某个地方,赋予Solaris文档的历史性质。

# /usr/ucb/ps -aux | head

用户pid%cpu%mem sz rss tt s启动时间命令 Orabudge 13285 4.1 51.18413180884116344?o 08:56:30 0:22 OracleBudget(Loca Orabudge 11998 3.4 51.18413552884119456?o 08:51:53 1:49 OracleBudget(Loca 根732 3.1 0.0 0 0?s Feb 04 326:27 zpool-budgetdb_dat Orabudge 12030 2.8 51.18413296884116648?S 08:52:02 2:04 ORA_P004_BUDGET Orabudge 12034 2.8 51.18413284084116504?S 08:52:02 2:04 ORA_P006_BUDGET Orabudge 12032 2.8 51.18413290484116568?S 08:52:02 2:04 ORA_P005_BUDGET Orabudge 12036 2.7 51.18413296884117176?S 08:52:02 2:02 ORA_P007_BUDGET Orabudge 21339 1.0 51.18414346484127680?S 07:18:27 4:24 OracleBudget(Loca Orabudge 4347 0.9 51.18414084084125256?S 08:19:23 1:10 OracleBudget(Loca [root@buffictdb:ravi]#

用户 - 启动该过程的用户。

PID - 系统分配的过程ID。

%CPU - 该过程使用的CPU时间的百分比。

%mem - 系统中总RAM的百分比流程(由于某些RAM共享,它不会加起来100%通过几个过程)。

sz - 非虚拟内存的数量,在kbytes中,分配给过程。它不包括程序的文本大小通常共享。

RSS - 居民设置过程的大小。这是%mem,是该过程使用的RAM量。

tt - " teletype"用户已登录。

S - 该过程的状态。

S - 睡眠

o - 使用CPU(在CPU上)或运行

r - 跑步并等待CPU免费

z - 终止但尚未死亡(Zombie)

P - 等待Page-in

D - 等待磁盘I/O

检查磁盘性能和内存使用情况出现P或D状态。这可能表明两个子系统的过载。

开始 - 时间开始启动

时间 - 该过程到目前为止使用的CPU时间总数

命令 - 命令被执行

最新更新