Python os.exec(): завершение при запуске "уведомить-отправить"
Я пишу небольшой скрипт Python под Linux, который выскакивает несколько libnotify
всплывающие окна, в настоящее время с использованием следующего синтаксиса:
import os
os.execv('/usr/bin/notify-send', ['App Title', 'Message'])
К сожалению, и по какой-то странной причине он убивает переводчика прямо в командной строке.
Он не делает это ни с какой другой командой, выполняемой скриптом, просто notify-send
,
Не выдается ни одна ошибка, ни одно известное исключение, ни одно указание на что-то не так, оно просто исчезает из командной строки.
У кого-нибудь есть предложения или альтернативы, которые одинаково легко сделать?
1 ответ
Вы должны использовать subprocess.call
которая запускает программу, названную ее аргументами в новом процессе, и ожидает завершения дочернего процесса, а не os.execv
который заменяет то, что выполняется в текущем процессе, программой, указанной его аргументами.
Использование subprocess.call(['/usr/bin/notify-send', 'App Title', 'Message'])