【发布时间】:2013-12-11 07:37:09
【问题描述】:
我正在使用 subprocess.Popen 来调用控制台应用程序。控制台应用程序本身调用另一个子进程来执行下载操作。父进程调用子进程后退出。
在命令提示符下手动运行脚本时,我可以获得子进程的输出。
但是 subprocess.Popen 在系统环境中运行脚本时被挂起(提交后挂钩)。子进程没有退出。
p1 = subprocess.Popen([Application,arg1, arg2, arg3], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
Down_out = p1[0]
Down_Err = p1[1]
提前致谢
【问题讨论】:
-
这和
svn有什么关系? -
当提交发生在我的 svn 存储库中时,从 post commit hook 调用的 python 脚本
-
shell=True和列表参数几乎总是一个错误。要么删除shell=True(不理会列表参数),要么将列表参数转换为字符串(一个shell命令,因为它会出现在控制台中)。
标签: python svn subprocess post-commit-hook