即使所有相关的rpms都被删除,进程仍然应该运行吗?

时间:2016-11-14 14:41:51

标签: linux rpm

对于应用程序,我必须安装几个rpm。我启动了应用程序(应用程序正在运行的过程)。现在,如果我删除所有的rpms而不杀死(或停止)该过程怎么办?

即使我卸载了所有相关软件包(rpms),该进程是否仍会运行?或者是否卸载rpms,是否应该自动终止进程?

2 个答案:

答案 0 :(得分:1)

如果有问题的应用程序是某种服务(守护进程)并且应该在后台运行,它通常会在从rpm中的卸载脚本中删除文件之前停止。

如果有问题的应用程序应由用户手动运行,它通常不会在删除文件之前停止,因此在删除其rpm后,该进程仍将运行并可能由于缺少文件而出现故障。你必须手动杀死它。

为什么删除可执行文件时可以运行进程?事实证明这在许多情况下都很有用。

答案 1 :(得分:1)

卸载软件包(或应用程序)也是一个程序,由应用程序的开发人员编写。没有通用的卸载方法。产品应该带有安装以及卸载脚本/二进制集成。

但是很多时候这些卸载脚本写得不干净。一个干净的书面卸载脚本应该如下工作: -

  1. 首先停止/杀死所有相关的运行进程,从而释放出来 持有锁(如果没有在每个进程的退出中显式锁定释放 例行公事)
  2. 然后卸载应用程序
  3. 删除安装期间创建的所有临时文件/规则/配置。