kworker 프로세스에 `strace`를 연결할 수 없는 이유는 무엇입니까?

kworker 프로세스에 `strace`를 연결할 수 없는 이유는 무엇입니까?

strace루트로서 실행 중인 프로세스에 연결을 시도했지만 kworker성공하지 못했습니다.

      root@rasal# whoami
            root
      root@rasal:/# cat  /proc/sys/kernel/yama/ptrace_scope
            0
      root@rasal:/# ps ax | grep kworker
            1030 ?        S<     0:00 [kworker/u17:0]
      root@rasal:/# strace -fp 1030
            strace: attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted
            Could not attach to process.  If your uid matches the uid of the target
            process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
            again as the root user.  For more details, see /etc/sysctl.d/10-ptrace.conf

문서 etc/sysctl.d/10-ptrace.conf에는 간단히 다음과 같이 명시되어 있습니다.

PTRACE 범위 "0"은 보다 완화된 모드입니다.

이것이 바로 제가 가지고 있는 것입니다. 위를 참조하세요. 이것이 실패할 이유가 있나요? 아니면 버그인가요?

답변1

표시되는 kworker "프로세스"는 일반 프로세스가 아닌 커널 스레드입니다. 사용자 공간 부분이 없으므로 시스템 호출도 없습니다. 작동하더라도 아무 것도 표시되지 않습니다.

게다가 커널 스레드를 추적하면(상상할 수 있는 가상의 시나리오에서) 시스템이 정지될 가능성이 가장 높습니다.

관련 정보