从python程序调用truss

时间:2015-12-16 16:57:02

标签: python subprocess truss

我有一个python程序,我想用truss运行一个BSD系统命令,这样我就可以得到一个系统调用列表(open,stat等)。例如,命令为:

truss -S <application specific command>

我正在使用subprocess.Popen(command,..,..)来调用该命令。我将命令作为列表传递,而不是字符串,所以我从Python获得正确的编码。所以命令列表如下:

command = ['truss', '-S', <application specific command>]

但是这给了truss错误:

truss -S "ls -lrt"
truss: execvp  No such file or directory
truss: can not get etype: No such process

但如果我在没有上面引号的情况下运行相同的命令,它就会通过。当我将命令作为列表传递给Popen时,Python添加类似于上面的引号,我需要这些命令才能按预期工作。

解决这个问题的最佳方法是什么?

0 个答案:

没有答案