0

我需要创建一个 shell 脚本来按状态类型列出进程。输出必须类似于:

进程运行:

[过程]

进程休眠:

[过程]

ETC

我这样做了,但是ps aux |不起作用 awk '$8 ~ PROCESS'

for PROCESS in `ps -v | awk 'NR!=1 {print $2}' | sort -u`; do
   echo "Procesos como $PROCESS:"
   ps aux | awk '$8 ~ PROCESS'
done

导致该脚本输出所有进程,而不是按进程过滤。

有什么帮助吗?

4

2 回答 2

1

一个简单的解决方案是使用psand sort

ps u | sort -rk 8

-r反转排序(使列表标题保持在上方),并-k 8选择第 8 个字段 ( STAT)。

head然后,您可以使用任何形式选择处于特定状态的进程awk,并打印出您喜欢的任何内容。

于 2013-04-01T15:39:34.247 回答
0

您还可以在非交互模式下使用 top( -S 选项按状态显示和排序):

top -b -n 1 -S
于 2013-04-01T17:41:30.597 回答