2
我正在通過Python的子進程模塊執行命令。我如何查看已執行的完整命令? 例如,如果我提交['ls', '-l']
,我想要一個簡單的方法來查看'ls -l'。檢索由子進程執行的命令
我正在通過Python的子進程模塊執行命令。我如何查看已執行的完整命令? 例如,如果我提交['ls', '-l']
,我想要一個簡單的方法來查看'ls -l'。檢索由子進程執行的命令
這應該工作。
ls = subprocess.Popen(['ls', '/tmp'])
cmd = file("/proc/%d/cmdline" % (ls.pid)).read()
有關更多信息和意見,請參見The /proc Filesystem。
請注意,有些命令會詢問您的權限。
當然,您可以(如西蒙指出的)將join
應用到您傳遞給Popen
的列表中。
爲什麼不用'''.join(my_list)'?你正在調用子進程,所以你已經知道了完整的命令。 –
聽起來像你正在嘗試做'shlex.split()'的反向? –
請參閱http://stackoverflow.com/questions/2692873/和http://stackoverflow.com/questions/967443/ –