我正在尝试读取ps
使用指定的自定义格式的输出-o
。因为我想指定一个自定义分隔符,所以我使用了 AIX 格式描述符(例如%p
,对于 pid、%a
对于 args 等),但是在使用普通格式代码时会出现同样的问题。
当我%a
在此格式字符串的末尾指定时,一切都按预期工作:
$ echo 'while true; do sleep 1; done' > really-really-really-long-filename
$ bash really-really-really-long-filename &
[1] 31181
$ ps -p 31181 -o '%p|%a'
PID|COMMAND
31181|bash really-really-really-long-filename
但是,如果%a
不是最后一个字段,我会得到:
$ ps -p 31181 -o '%a|%p'
COMMAND | PID
bash really-really-really-l|31181
这似乎与任何屏幕宽度修饰符无关。这里还有其他东西在起作用吗?
(GNU 重击 4.1.5)