ps: 커널 스레드가 아닌 루트가 소유한 프로세스만 표시됩니다.

ps: 커널 스레드가 아닌 루트가 소유한 프로세스만 표시됩니다.

커널 스레드를 숨기는 방법을 알고 있습니다 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입니다.

관련 정보