07/11/22 13:00:05 WDhljBeY
自作のC++のプログラムでhogeというdaemonを作りました。
処理のほとんどはROOTというプログラムのクラスと関数を呼ぶもので、
(URLリンク(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です。