使用python关闭程序?

时间:2013-08-05 12:38:33

标签: python

我正在尝试使用python关闭VLC,同时录制音频。目前我正在使用:

os.kill(pid,pid)

这有效但是正在关闭VLC并且不允许录制文件正确关闭,从而破坏它。如果我手动关闭VLC GUI实例,则录制文件不会被破坏。

所以基本上我正在寻找一个python命令来关闭一个模拟应用程序GUI上“关闭”按钮的应用程序。

或者,也许还有另一种方式。比如在关闭VLC进程之前关闭正在写入记录的.wav文件?我也做了一些工作,但没有得到任何结果。

感谢您的帮助!

2 个答案:

答案 0 :(得分:7)

你正在使用错误的功能,你可能会想要这样的东西:

from signal import SIGTERM
os.kill(pid,SIGTERM)

第二个参数指定中断。同样经常使用的是SIGKILL,这是一种很难杀戮,可能和以前一样。您可以找到有关linux信号here的更多信息。在Windows中,您的选项更受限制,有关可用信号,请参阅the python docs

通过为第二个参数提供pid,您可能会设置一个非常重的终止信号,它会立即终止应用程序,而不会关闭文件。

答案 1 :(得分:0)

我想我已经开始工作了。而不是使用os.kill()我正在使用

os.system("taskkill /pid " +str(pid)+ " /t")

这会关闭录制而不会破坏文件。此外,如果其他人有这个问题,并使用VLC命令行录制,如果使用虚拟接口,这似乎不起作用。