- 392 名前:login:Penguin mailto:sage [2007/11/22(木) 13:00:05 ID:WDhljBeY]
- 自作のC++のプログラムでhogeというdaemonを作りました。
処理のほとんどはROOTというプログラムのクラスと関数を呼ぶもので、 (root.cern.ch) mainの先頭でdaemon(0, 0)でdaemon化させています。 このプログラムをコマンドラインから走らせると、 特に問題なくターミナルから切り離されて走り続けるのですが、 /etc/init.d/functionsを利用して/etc/init.d/hogedを作成し、 # /sbin/services hoged start をさせるとメモリリークして、メモリ使用率が上がっていきます。 ROOTのある特定の関数を呼んだ場合だけこのメモリリークが発生するのですが、 ROOTの作者はこの原因を特定できていないようです。 知りたいのは、このようにコマンドラインから呼んだ場合と、 servicesから呼んだ場合でメモリリークの発生の有無がなぜ変わるのでしょうか。 コード見ないと分からないかもしれませんが、 もし検討のつくことがあれば教えて下さい。 Scientific Linux 4.4 (32 bit) + GCC 3.4.6です。
|

|