slapd
時々何らかの理由で停止するデーモンプロセス()があります。セグフォルトは発生しません。ログには特別な内容はありません。
だから私が使用したいのは、acct
プロセスのライフサイクル、特に終了値を追跡することです。man
カーネルが値を記録したことを示します。驚いたことに、私のdump-acct
情報は表示されません...
print_pacct_record()
関数に次の行を追加してソースを変更する必要がありました。
(void)fprintf(out, "%4u|", rec->ac_exitcode >> 8);
編集:この変更は最近追加されたアルコール。
しかし、これだけでは問題を見つけるには足りないと思います。
プログラムの終了方法を追跡するより良い方法はありますか?たとえば、スタックトレースは興味深いでしょう。 「最後の瞬間トラッキング」が良いでしょう。
strace
私はどちらかを考えましたが、ltrace
プログラムは「自己停止」する前に数日間実行することができます。パフォーマンスに影響を与える「トラッキング」が心配です。私が助けることができるかもしれませんgdb
。
ベストアンサー1
strace
そのオプションを使用して出力をファイルにリダイレクトするとどうなりますか-o
?
[root@host ~]# strace -o /root/slapd_strace.log slapd --parameters --you --want