python – Der Prozess kann nicht mit der Funktion „Unterprozess beenden' beendet werden. Irgendwelche Ratschläge?
伊谢尔伦
伊谢尔伦 2017-06-14 10:51:31
0
1
668

Ich möchte Python zum Aufnehmen von Videos verwenden und es dann automatisch zu einem festgelegten Zeitpunkt beenden. Der Befehl ist nicht kompliziert Der Befehl ffmpeng, um das Video aufzunehmen und als mp4 zu speichern, wurde getestet und es gibt kein Problem. Der Test kann auch mit Python aufgezeichnet werden. Das Problem ist, dass er nicht beendet werden kann. . Ich habe subprocess.kill verwendet, um den Prozess zu beenden, aber es beendete nur ffmpeg, das von cmd gestartet wurde, und ich weiß nicht, wie ich den von ihm generierten Prozess beenden soll. .

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()

Die Verwendung von „Terminat“ oder „Kill“ kann nur den vom Unterprozess generierten Prozess „ffmpeg1.exe“ beenden.
Wenn es eine Beendigungsmethode gibt, die Strg+C imitiert. Bitte helfen Sie mir. Bitte helfen Sie,
Ich habe Ping 127.0.0.1 später getestet und derselbe Befehl kann beendet werden, aber ping.exe kann nicht beendet werden

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

Antworte allen(1)
女神的闺蜜爱上我

其实你自身都已经得出结果, 当你杀掉subprocess.Popen只能杀死cmd, 却不能杀死ffmpeg1, 所以试下直接用windows的命令去杀死吧

kill_command = 'taskkill -f ffmpeg1.exe'
cc=subprocess.Popen(kill_command ,shell=True)
....(自己补充)
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!