ptrace
の文書によると、`PTRACE_TRACEME`でトレースするときにforkしたプロセスのSIGSTOP停止を無効にする
停止tracee次
clone(2)
で、自動的にはPTRACE_SEIZE
が使用された場合SIGSTOP
、又はPTRACE_EVENT_STOP
で開始され、新たにクローニングされたプロセスを、トレースを開始します。
SIGSTOP
は、ptrace
が原因ではない可能性があります。ユーザーがこの信号をプロセスに送信することもできます。この場合、子プロセスがPTRACE_EVENT_STOP
で停止していると完全ではありません。
子プロセスを自分で作成していますので、PTRACE_TRACEME
を使用して子プロセスをトレースすると、競合状態が発生しません。 PTRACE_SEIZE
を代わりに使用すると主張すると、親プロセスでPTRACE_SEIZE
を呼び出す前に子プロセスが既に終了している可能性があります。
PTRACE_TRACEME
でトレースすると、子プロセスがプレーンSIGSTOP
を受け取らないようにする方法はありますか?