如何确定启动期间运行的哪个服务负责某种行为?

如何确定启动期间运行的哪个服务负责某种行为?

在我的 Fedora 14 系统上,挂载列表中出现了一些奇怪的绑定挂载。它们出现在每次启动时。我可以使用 卸载它们umount -l,但我想找到哪个包正在安装它们(以便我可以在必要时报告错误)。

如何找出哪个服务导致这些绑定安装出现?

答案1

在 grub 菜单中按“a”,然后single在命令行中添加“ ”并按 ENTER,进入单用户模式。

然后检查并在您常用的运行级别(默认为运行级别 5)上单独启动服务。您可以通过依次执行,使用参数start,每个以“S”开头的文件/etc/rc5.d(它们都应该是符号链接),或者/etc/rc3.d运行级别 3 是您的默认运行级别等来完成此操作。每个启动后,键入mount|grep bind以查看哪些绑定安装(如果有)在该时间点存在。

答案2

唯一确定的方法是一一尝试。但是绑定挂载很有可能是从 init 脚本之一显式触发的,因此只需搜索它们就可能找到罪魁祸首。当然,您应该先检查/etc/fstab一下。

grep bind /etc/fstab
grep 'mount.*bind' /etc/rc*/*

(init 脚本的位置可能会有所不同,具体取决于发行版和 init 实现,例如/etc/init*/*/etc/rc*。)

相关内容