![커널에서 생성된 커널 스레드만 나열하는 방법이 있습니까?](https://linux55.com/image/150620/%EC%BB%A4%EB%84%90%EC%97%90%EC%84%9C%20%EC%83%9D%EC%84%B1%EB%90%9C%20%EC%BB%A4%EB%84%90%20%EC%8A%A4%EB%A0%88%EB%93%9C%EB%A7%8C%20%EB%82%98%EC%97%B4%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
이 명령은 ps aux | grep ]
실행 중인 모든 커널 스레드(커널에서 생성된 스레드와 다른 스레드에서 생성된 스레드)를 나열합니다.
커널에서 생성된 커널 스레드만 나열하는 방법이 있습니까?
답변1
커널 스레드는 항상 커널에 의해 생성되며 항상 프로세스 그룹 0에 있으므로 이를 필터링할 수 있습니다.
ps -e -o pid,ppid,pgid,args | awk '$3 == 0'
(에서 프로세스 그룹 ID를 필터링하는 방법은 없는 것 같습니다 ps
. 이론적으로는 세션 0을 필터링할 수 있지만 ps
마음에 들지 않습니다.)
kthreadd
부모가 커널 스레드 데몬 인 프로세스를 찾을 수도 있습니다 .
ps --pid 2 --ppid 2 -o pid,ppid,pgid,args
(pid 2와 그 하위 포함)