Python os.exec():运行'notify-send'时终止

时间:2012-11-22 05:50:37

标签: python exec libnotify

我正在Linux下编写一个小型Python脚本,弹出一些libnotify弹出窗口,目前使用以下语法:

import os
os.execv('/usr/bin/notify-send', ['App Title', 'Message'])

不幸的是,由于一些奇怪的原因,它会立即将解释器杀死到命令提示符 它不会对脚本执行的任何其他命令执行此操作,只需notify-send

没有给出错误,没有抛出已知的异常,没有任何错误的迹象,它只是在命令提示符下消失。

有没有人有同样容易做的建议或替代方案?

1 个答案:

答案 0 :(得分:5)

你应该使用subprocess.call在新进程中启动由其参数命名的程序,并等待子进程退出而不是os.execv,它用程序替换当前进程中运行的进程由其参数指定。

用法为subprocess.call(['/usr/bin/notify-send', 'App Title', 'Message'])