[[katsuhiro]] -> [[katsuhiro/refmon]] -> katsuhiro/refmon/execve *sys_execve に関すること [#tf9f7818] **ptrace で監視されているときの sys_execve の動作 [#r794a89e] ptrace で監視されているときは実行直後に SIGTRAP が送られるため、sys_execve のあと最初にくる SIGTRAP は無視している。 -問題: ブレークポイント/トラップエラーで落ちるソフトウェアがある。 --問題発生の流れ: make がトラップを受け取ったと言って落ちる。なぜか調べたら子プロセスに sh が居て sys_execve を発行していた。 --原因: sys_execve の後に SIGTRAP が送られるため。 --解決: sys_execve のあと一回目の SIGTRAP は無視する。 --参考: (manpage execve より)もし元のプログラムが ptrace されていると、execve() が成功した後にそのプログラムに SIGTRAP が送られる。