linux - 创建按状态排序的流程列表

标签 linux bash ps

我需要创建一个 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

因为脚本输出所有进程,而不是按进程过滤。

有什么帮助吗?

最佳答案

一个简单的解决方案是使用 pssort:

ps u | sort -rk 8

-r 反转排序(使列表头保持在上面),-k 8 选择第 8 个字段(STAT) .

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

关于linux - 创建按状态排序的流程列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15746428/

相关文章:

java - 如何从 Java 获取系统负载/CPU 使用率?

c++ - Posix 线程通信 Linux

bash - 如何更改第 n 列后的字段分隔符

windows - dmake 中的 shell 命令添加 '/S'

mysql - 如何从 bash 执行 .sql 脚本

linux - docker中容器之间的通信

linux - bash 脚本中查找函数的结果出现问题

grep - 如何始终从 `ps aux`命令中截取PID?

linux - ps start_time 作为时间戳

linux - 调试postgreSQL服务器进程(如何识别正确的进程id)