Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中调试外部系统命令_Python - Fatal编程技术网

在Python中调试外部系统命令

在Python中调试外部系统命令,python,Python,现在,在删除python文件的bug时,它不会进入PatchGen.py 是否有调试系统命令的方法否无法调试系统命令 如果您编写p_output=subprocess.Popen(command,stdout=subprocess.PIPE,shell=True)Python不知道正在运行什么,它可能是任何东西,而不仅仅是一个Python脚本 您需要的是从当前文件导入该模块并运行其main功能。这将允许您查看调试信息。如果我直接调用main函数,则无法使用popen管道command@Rohan

现在,在删除python文件的bug时,它不会进入PatchGen.py


是否有调试系统命令的方法

否无法调试系统命令

如果您编写
p_output=subprocess.Popen(command,stdout=subprocess.PIPE,shell=True)
Python不知道正在运行什么,它可能是任何东西,而不仅仅是一个Python脚本


您需要的是从当前文件导入该模块并运行其
main
功能。这将允许您查看调试信息。

如果我直接调用main函数,则无法使用popen管道command@RohanGala我只是建议了一个解决办法。一般来说,不可能调试popen管道命令。如果您说出现了什么问题(即为什么要调试它),我们可以建议解决该问题的方法
#!/usr/bin/python



def copyPatchTempToPatchStage(destinationLoction):

 command='/usr/bin/python '+destinationLoction+'/PatchGen.py '
 print command
 executeCommand(command)




def executeCommand(command):

 p_output=subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
 p_output.communicate()
 p_output.wait()


if __name__ == '__main__':

 destinationLoction="/scratch/app/product/fmw/obpinstall/patching/patchGenerationPath/2015-12-28/T14_OPATCH/100005135/PATCH_TEMP"
 copyPatchTempToPatchStage(destinationLoction)