1
Linuxのノンブロッキングコアダンプ?
Linuxで実行中のプロセスの非侵入型コアダンプを取得する方法を探しています。 私はgdbに精通していますが、それはプロセスに接続されており、デバッグのために停止しているgcore場合にのみ実行できgdbます。大きなコアダンプの場合、実行が中断されるまでに数秒、または数分かかる場合があります。 ノンブロッキングの代替手段はありますか? Linuxはcopy-on-writeメモリをサポートしますが、これはfork()なしでのサポートに依存していexec()ます。だから私は、カーネルがダンプされるプロセスのプロセスページテーブルのコピーオンライトスナップショットを取得し、元のプロセスが実行を続けている間にコアを書き出すカーネルレベルの何かを考えています。 親が幸運に進んでいる間に子gdbを強制的fork()にダンプし、wait()終了後に子を刈り取るために親に使用できると確信しています。しかし、それは面倒であり、短いものではありますが、依然として親プロセスの2つの中断が必要です。 確かに誰かがこれを必要としているのですか?