首页 > 解决方案 > 如何处理多次调用python通知脚本?

问题描述

我正在尝试编写一个脚本来在 linux 下自动化我的备份,并且我希望有某种系统托盘通知 (KDE) 正在运行备份。

在阅读了这篇其他 SE 帖子并进行了一些研究之后,我似乎找不到用于 bash 的 DBUS 库,所以我正在考虑从他的答案中调整 python 脚本,并通过让我的 bash 将它变成我的主备份脚本的插件备份脚本在备份完成时重复调用 python 通知脚本来创建、更新和删除通知。

但是,我不太确定如何在 python 端实现这一点,因为如果我只是python3 notify.py argument1 argument2从 bash 调用,它每次都会创建一个新的 python 脚本实例。

本质上,这就是我在我的 bash 脚本中尝试做的事情:

#awesome backup script
./notification.py startbackup #this creates a new instance of the python script and sets up the KDE progress bar, possibly returning some kind of ID that is reused later?

#do backup things here.....

#periodically
./notification.py updateProgress 10%
./notification.py updateProgress 20%
#etc...

#finish the backup...

./notification.py endbackup #set the progressbar to complete and do cleanup

由于我以前没有做过这样的事情并且不确定要搜索什么,我想知道如何在我现在拥有的 python/bash 设置中实现这样的事情?

即,如果我要创建一个 bash 变量来存储从第一次调用 python 脚本返回的实例 ID 并将其传递回每个后续调用,我将如何编写我的 python 脚本来处理这个并采取行动在最初创建的同一通知上,而不是创建新通知?

标签: pythonbash

解决方案


要么保持进程运行并通过管道发送命令,要么使用文件来存储实例 ID。


推荐阅读