Linux 即使所有流程都运行';是否删除了相关的RPM?

Linux 即使所有流程都运行';是否删除了相关的RPM?,linux,rpm,Linux,Rpm,对于一个应用程序,我必须安装几个RPM。我启动了应用程序(应用程序的进程正在运行)。现在,如果我删除所有RPM,而不终止(或停止)进程,该怎么办 即使我卸载了所有相关软件包(RPM),该过程仍将运行吗?或者,卸载rpm是否应该自动终止进程?如果所讨论的应用程序是某种服务(守护程序),并且应该在后台运行,则通常会在从rpm中的卸载脚本中删除文件之前停止 如果所讨论的应用程序应该由用户手动运行,则在删除文件之前通常不会停止该应用程序,因此在删除其rpm后,该进程仍将运行,并且可能由于缺少文件而出现故

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


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

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


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


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

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


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

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

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

但很多时候,这些卸载脚本编写得不干净。干净的书面卸载脚本应按如下方式工作:-

  • 首先停止/终止所有相关的运行进程,从而释放 持有的锁(如果不是在每个进程的出口中显式释放锁 (例行)
  • 然后卸载应用程序
  • 删除安装期间创建的所有临时文件/规则/配置
  • 卸载软件包(或应用程序)也是一个程序,由应用程序的开发人员编写。没有通用的卸载方法。产品应带有安装和卸载脚本/二进制集成

    但很多时候,这些卸载脚本编写得不干净。干净的书面卸载脚本应按如下方式工作:-

  • 首先停止/终止所有相关的运行进程,从而释放 持有的锁(如果不是在每个进程的出口中显式释放锁 (例行)
  • 然后卸载应用程序
  • 删除安装期间创建的所有临时文件/规则/配置

  • 删除rpm文件和卸载软件包之间存在差异。你能澄清一下你在做什么吗?另外,这个问题可能更适合我删除rpm包(通过
    rpm-e
    )。而且,我不清楚这两者之间的区别是什么?一个卸载软件包,另一个删除安装文件(
    rm foobar.rpm
    )删除rpm文件和卸载软件包之间有区别。你能澄清一下你在做什么吗?另外,这个问题可能更适合我删除rpm包(通过
    rpm-e
    )。而且,我不清楚这两者之间的区别是什么?一个卸载软件包,另一个删除安装文件(
    rm foobar.rpm
    ),但删除软件包也会终止相关进程。否则删除不会被称为干净的删除。@PabitraPati我不确定这一点,例如,我绝对不希望更新Firefox会突然杀死我正在运行的浏览器。但为了正确更新软件包,关闭浏览器是一个公平的期望。无论如何,这里要考虑的是删除包。删除意味着删除所有相关的库、sym表等。。。因此,理想情况下,它应该先终止进程,然后卸载包。但是,删除包也应该终止相关进程。否则删除不会被称为干净的删除。@PabitraPati我不确定这一点,例如,我绝对不希望更新Firefox会突然杀死我正在运行的浏览器。但为了正确更新软件包,关闭浏览器是一个公平的期望。无论如何,这里要考虑的是删除包。删除意味着删除所有相关的库、sym表等。。。因此,理想情况下,它应该终止进程,然后卸载包。