我需要创建一个 shell 脚本来按状态类型列出进程。 输出必须是这样的:
进程运行:
[过程]
进程休眠:
[过程]
等
我这样做了,但是 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
因为脚本输出所有进程,而不是按进程过滤。
有什么帮助吗?
最佳答案
一个简单的解决方案是使用 ps
和 sort
:
ps u | sort -rk 8
-r
反转排序(使列表头保持在上面),-k 8
选择第 8 个字段(STAT
) .
然后,您可以使用从 head
到 awk
的任何方式选择处于特定状态的进程,并打印出您喜欢的任何内容。
关于linux - 创建按状态排序的流程列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15746428/