ps:只显示root拥有的进程,不显示内核线程

ps:只显示root拥有的进程,不显示内核线程

我知道如何隐藏内核线程ps

/bin/ps --pid 2 --ppid 2 --deselect -o user:10,pid,stat,pcpu,pmem,tty,start_time,cmd

我知道如何仅显示 root 拥有的进程:

/bin/ps -U root -o user:10,pid,stat,pcpu,pmem,tty,start_time,cmd

但是如何只显示 root 拥有的进程,同时排除内核线程呢?

组合以上两个命令不起作用:

/bin/ps --pid 2 --ppid 2 --deselect -U root -o user:10,pid,stat,pcpu,pmem,tty,start_time,cmd

答案1

您始终可以使用以下方法手动进行选择awk

ps -o user:10,pid,stat,pcpu,pmem,tty,start_time,cmd -p $(
  ps -Ao pid= -o sid= -o uid= | awk '$2 && ! $3 {print $1}'
)

这里检查会话 ID,对于内核线程,会话 ID 为 0。

相关内容