我有一个非常基本的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运行时,为了保持子进程打开,我该怎么办?无法运行调试器非常烦人。
答案 0 :(得分:-2)
你打印出Popen调用的输出(stdout和stderr)吗?这是什么意思?
从IDE启动子进程可能很棘手,因为某些环境变量(如PATH
)可能与shell的设置方式不同。