我有一个基于此守护程序示例http://www.itp.uzh.ch/~dpotter/howto/daemonize的代码的 Linux 守护程序(我使用单个 fork 使其成为守护程序)的 C++ 应用程序。我正在尝试使用 valgrind 查找内存泄漏:
/usr/bin/valgrind.bin --suppressions=/usr/lib/valgrind/debian-libc6-dbg.supp --tool=memcheck --child-silent-after-fork=no --trace-children=yes --leak-check=full --show-reachable=yes /usr/sbin/<my daemon>
但是 valgrind 在初始进程终止后立即退出,而应用程序仍在子进程中工作。如果我注释掉退出初始进程的代码,那么 valgrind 将继续工作。但这不是一个干净的解决方案。没有它,我如何让 valgrind 继续工作?