커널 스레드를 숨기는 방법을 알고 있습니다 ps
.
/bin/ps --pid 2 --ppid 2 --deselect -o user:10,pid,stat,pcpu,pmem,tty,start_time,cmd
루트가 소유한 프로세스만 표시하는 방법을 알고 있습니다.
/bin/ps -U root -o user:10,pid,stat,pcpu,pmem,tty,start_time,cmd
그러나 커널 스레드를 제외하고 루트가 소유한 프로세스만 표시하는 방법은 무엇입니까?
위의 두 명령을 결합하면 작동하지 않습니다.
/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입니다.