Python os.exec() : Termination on running 'notify-send'

标签 python exec libnotify

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

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

不幸的是,由于某些奇怪的原因,它直接杀死了命令提示符下的解释器。
它不会对脚本执行的任何其他命令执行此操作,只是 notify-send

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

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

最佳答案

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

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

关于Python os.exec() : Termination on running 'notify-send' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13506600/

相关文章:

python - 系列数据不断增加

python - 在 apache zeppelin 中找不到 pyspark 解释器

bash - 理解 bash "exec 1>&2"命令

c - notification_notification_new 不显示图标

ubuntu - 如何在 gnome shell 的 libnotify 中自动隐藏错误消息?

python - 正则表达式不匹配

python - 随机输入创建的列表

java - 在java代码中执行一个带参数的外部程序

bash - 如何通过 find -exec 使用 .bashrc 中定义的 bash 函数

libnotify - 如何使用 notify-send 向另一个用户发送通知