应用程序调用 rpm 更新自身问题

Application calling rpm to update itself problems

我试图通过调用 RPM 数据包管理器(现在是 DNF)安装包含更新的 RPM 来允许应用程序更新自身。问题是当数据包管理器卸载应用程序时,服务停止并且数据包管理器在安装新的 RPM 之前被杀死。

有什么方法可以分离数据包管理器进程以完成更新吗?

不清楚您对更新的控制程度如何运行。

一个可能的选择是通过 cron 作业在 运行 的程序中检查更新和更新本身。 RPM 安装 cron 作业很常见,如果与应用程序关联的服务停止,则 cron 作业不会停止。

如果更新必须直接由服务启动,并且您可以控制更新的调用方式,那么您可以使用 at command to run it. See Run command 'at' 5 seconds from now for examples of using at. The update would be run by a separate service, so it wouldn't be stopped when your service is stopped. However, this requires at to be installed and the atd 守护进程 运行ning。