我使用start-stop-daemon启动程序,并希望与Valgrind一起使用。
这就是我使用start-stop-daemon的方式:
start-stop-daemon --start --background --exec ${BINPATH}/myPgm -- myPgm
这就是我在独立应用程序(垃圾)上使用Valgrind的方式:
valgrind --tool=memcheck --leak-check=yes ./junk
并且有效。
我想做类似的事情:
start-stop-daemon --start --background --exec valgrind --tool=memcheck --leak-check=yes --log-file=/usr/magnus/logFile ${BINPATH}/myPgm -- myPgm
似乎start-stop-daemon接受valgrind(如果我只有valgrind没有它的标志--tool=memcheck --leak-check=yes --log-file=/usr/magnus/logFile
它似乎被接受)
但是start-stop-daemon不接受它。
我为valgrind标志获取了start-stop-daemon:unrecognized option '--tool=memcheck'
。
有人知道如何做到这一点吗?
答案 0 :(得分:7)
其中的“ - ”用于将start-stop-daemon的参数与传递给可执行文件的参数分开。因此,“ - ”之后的myPgm实际上是作为myPgm可执行文件的参数提供的。我认为这在你的第一个例子中是无关紧要的。
你需要使用“ - ”来分割valgrind的args,如下所示:
start-stop-daemon --start --background --exec valgrind -- --tool=memcheck --leak-check=yes --log-file=/usr/magnus/logFile ${BINPATH}/myPgm