python - 用subprocess terminate沒法結束進程 求教
問題描述
我想用python采集視頻,打算用ffmpeng.exe 進行視頻錄制,然后定時自動結束,我是個小白,命令不復雜,就是用subprocess.Popen 啟動ffmpeng命令,進行視頻采集,保存為mp4,我在cmd下面已經測試好了,命令無問題,并且用python里面測試也可以錄制,問題就是沒法結束。。我用subprocess.kill結束了進程,但僅僅是結束了cmd進行,cmd開啟的ffmpeg還是在繼續工作,我不知道改怎么結束他產生的進程。。
cmd = ’’’ffmpeg1.exe -i 'rtmp://123.123.123.132/live/tv22 live=1' -acodec libmp3lame -vcodec libx264 -y 3.mkv’’’cc=subprocess.Popen(cmd2,shell=True)print(cc.pid)time.sleep(15)cc.terminate()
用terminat 或者kill都沒法結束進程,只能結束subprocess.Popen產生的cmd進程,cmd執行命令產生的ffmpeg1.exe進程沒法停止,如果有仿ctrl+c的終止方法也行,求大神幫忙看看,我后來測試了ping 127.0.0.1 ,同樣cmd可以結束,ping.exe無法結束
問題解答
回答1:其實你自身都已經得出結果, 當你殺掉subprocess.Popen只能殺死cmd, 卻不能殺死ffmpeg1, 所以試下直接用windows的命令去殺死吧
kill_command = ’taskkill -f ffmpeg1.exe’cc=subprocess.Popen(kill_command ,shell=True)....(自己補充)
相關文章:
1. 數據庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。2. javascript - 我是做web前端的,公司最近有一個項目關于數據統計的!3. ios - 類似微博首頁,一張圖的時候是如何確定圖大小的?4. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)5. Python中使用超長的List導致內存占用過大6. node.js - 微信小程序websocket連接問題7. html5和Flash對抗是什么情況?8. javascript - vuejs+elementui 購物車價格計算,點擊加減號修改數量總價都不會改變,但是計算執行了9. javascript - vue過渡效果 css過渡 類名的先后順序10. javascript - 如何使用loadash對[object,object,object]形式的數組進行比較
