2011-02-02 15 views
2

私のfedora12は、おそらくGNOMEに付属しているABRTというツールをインストールしました。この ツールはバックグラウンドで動作し、クラッシュしたプロセスをリアルタイムで報告します。自動バグレポートツール(ABRT)は、実行時にコアをキャッチするためにどのように動作しますか?

私はSIGSEGV信号を捕まえることができたシグナルハンドラを使用しました。つまり、 がクラッシュしたと報告することができました。

プロセスが親子接続を持たない他のプロセスの状態(特にコア)に関する情報を取得するには、他にどのような方法がありますか?

アイデア?それは非常に興味深い問題のようです。

答えて

1

ABRTすべての後、オープンソースですので、なぜ彼らcodeを見ていません。アーキテクチャはhereと説明されています。$COREDUMPDIRを監視して、新しいコアファイルがいつ表示されるかを検出するように見えます。

0

あなたの質問は完全には明らかではありませんが、gcoreを使用して、実行中のプロセスのコアを得ることが可能である:

 
gcore(1)       GNU Tools       gcore(1) 

NAME 
     gcore - Generate a core file for a running process 

SYNOPSIS 
     gcore [-o filename] pid 

DESCRIPTION 
     gcore generates a core file for the process specified by its process 
     ID, pid. By default, the core file is written to core.pid, in the cur‐ 
     rent directory. 

     -o filename 
       write core file to filename instead of core.pid 
+0

いいえ、gcoreとgstackができることは分かります。システムのプロセスがクラッシュしたことを知るために必要なものを学びたい – cateof

関連する問題