为什么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 运行时,我必须做什么才能保持子进程打开?无法运行调试器非常烦人。

你是否打印出 Popen 调用的输出(stdout 和 stderr)?它说了什么?

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

最新更新