私は現在、カスタム コア フォーマットを使用するクラッシュ コレクション メカニズムを開発しています。要するに、これは linux_binfmt->core_dump エントリーをフックして、ダンパーを指すようにします。
ダンパー自体は、プロセスの PID を使用してユーザーモード ヘルパーを起動し、カーネルがプロセスを完全に強制終了できるようにする前に、ptrace を介してプロセス情報をダンプします。
call_usermodehelper(argv[0], argv, envp, UMH_WAIT_PROC);
私の問題は、タスクが技術的にディスクのスリープ状態にあり、停止していないため、ptrace 呼び出しが失敗することです。
私は無駄に SIGSTOP を SEND_SIG_FORCED しようとしました:
send_sig_info(SIGSTOP, SEND_SIG_FORCED, current);
プロセスの終了を引き続きブロックするが、プロセスを停止状態にして ptrace ユーザーモード コレクターを機能させる方法についてのアドバイスをいただければ幸いです。