[問題] 關閉父程序 子程序未關閉

看板Python作者 (SO嫩)時間11年前 (2014/04/28 15:44), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
有個問題請教 在編寫程式時,我使用subprocess.Popen(cmd, shell=True)來呼叫外部應用程式 我設定一段時間後自動關閉這個subprocess,但由cmd所呼叫的外部應用程式卻成了孤兒 有沒有方法是可以讓關閉父程序時子程序也一起關閉的呢? 還是有更好實作方法?? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.75.144.86 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1398671066.A.479.html

04/28 16:21, , 1F
Popen.kill() 搭配 atexit 設定結束時把子程序 kill 掉
04/28 16:21, 1F

04/28 16:21, , 2F

04/28 16:21, , 3F

04/28 16:24, , 4F
文章提到如果父程序被 kill atexit 不會被執行,不確定
04/28 16:24, 4F

04/28 16:30, , 5F
感謝樓上 剛剛用subprocess.Popen(cmd.split(), shell=F)
04/28 16:30, 5F

04/28 16:30, , 6F
的方式順利讓subprocess直接將外部程式關閉了
04/28 16:30, 6F
文章代碼(AID): #1JNWRQHv (Python)
文章代碼(AID): #1JNWRQHv (Python)