You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Systemd技术问询:如何查找服务(或单元、目标)的依赖者

在Systemd中查找服务/单元/目标的所有依赖者

嘿,要找出Systemd里某个服务、单元或者目标的依赖者(也就是哪些单元会依赖它才能启动/运行),这几个实用方法你可以直接用:

1. 基础反向依赖查询

最直接的命令是用systemctl list-dependencies加上--reverse参数,它会以树形结构展示所有依赖指定单元的上层单元:

systemctl list-dependencies --reverse <单元名>

比如查postgres服务的依赖者:

systemctl list-dependencies --reverse postgresql.service

2. 查看详细的依赖元数据

如果需要更细致的依赖分类信息,可以用systemctl show命令,过滤出核心依赖属性:

systemctl show --property=RequiresBy,WantsBy,PartOfBy <单元名>

这几个属性的含义:

  • RequiresBy:必须依赖该单元的单元列表(若此单元停止,依赖它的单元会被强制停止)
  • WantsBy:弱依赖该单元的单元列表(此单元停止,依赖它的单元不会被强制终止)
  • PartOfBy:将该单元作为自身组成部分的单元列表

3. 过滤特定类型的单元

如果只想聚焦某一类单元(比如只看服务,排除目标、套接字等),可以结合systemctl list-units和--reverse参数:

systemctl list-units --type=service --reverse --requires=<单元名>

这里的--type=service可以替换成你需要的类型,比如target、socket等。

4. 查看完整的间接依赖链

如果想看到间接依赖者(也就是依赖「依赖该单元的单元」的上层节点),可以给list-dependencies加上--all参数:

systemctl list-dependencies --reverse --all <单元名>

这个命令会展开所有层级的依赖关系,适合排查复杂的启动依赖问题。

内容的提问来源于stack exchange,提问作者Rolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:01:08