我知道如何隐藏内核线程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。