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「プロセス」は、通常のプロセスではなくカーネルスレッドです。ユーザー空間部分がないため、システムコールもありません。動作しても何も表示されません。

さらに、カーネルスレッドを追跡すると(想像できる仮想シナリオでは)、システムがハングする可能性が最も高くなります。

おすすめ記事