我有一個非常基本的subprocess.Popen
命令,如:爲什麼PyCharm會殺死我的子進程.Popen?
cmd = ['docker', 'run', '--name=test','server']
p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
當我從終端Python腳本運行此,這正常啓動泊塢窗圖像和圖像一直持續到我docker stop
它。
但是,當我從PyCharm 5運行相同的代碼時,上面的行完成時立即停止泊塢窗圖像。
我已經在調試器中驗證了這一點(運行docker ps -a
顯示此圖片在PyCharm啓動時立即死亡)。
爲了在PyCharm下運行時保持我的子進程打開,我需要做些什麼?不能運行調試器是非常煩人的。
愚蠢的問題,但你配置碼頭運行在PyCharm根據本指南:https://blog.jetbrains.com/pycharm/2015/12/using-docker-in-pycharm/。 PyCharm的一個特點是支持docker。因此,您可能需要按照自己的配置對其進行更友好的用戶界面,才能使其運行正常。 – idjaw
@idjaw - 糾正我,如果我錯了,但不是關於使用Python解釋器作爲PyCharm解釋器在Docker容器中運行的博客文章?看起來他只需要執行子進程調用。 – BingsF
@BingsF是的,但是,有一部分文檔解釋瞭如何連接到碼頭集裝箱。這可能是缺失的一塊。 – idjaw