为什么PyCharm会杀死我的subprocess.Popen?

时间:2016-02-25 20:43:28

标签: python python-2.7 docker pycharm

我有一个非常基本的subprocess.Popen命令,如:

cmd = ['docker', 'run', '--name=test','server']
p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
                     stderr=subprocess.PIPE)

当我在终端的Python脚本中运行它时,这会正确启动docker镜像并且图像会一直存在,直到我docker stop

但是,当我从PyCharm 5运行相同的代码时,当上面一行完成时,docker镜像会立即停止。

我已在调试器中对此进行了验证(运行docker ps -a显示此图像在从PyCharm启动时立即死亡。)

在使用PyCharm运行时,为了保持子进程打开,我该怎么办?无法运行调试器非常烦人。

1 个答案:

答案 0 :(得分:-2)

你打印出Popen调用的输出(stdout和stderr)吗?这是什么意思?

从IDE启动子进程可能很棘手,因为某些环境变量(如PATH)可能与shell的设置方式不同。