【问题标题】:Is there any way to list systemd services in linux "in-the-order-of" they were loaded?有没有办法在 linux 中“按顺序”列出它们加载的 systemd 服务?
【发布时间】:2015-03-27 20:32:33
【问题描述】:

我正在尝试了解我的新项目中不同 systemd 服务之间的依赖关系。我们正在使用 yocto 构建系统和 systemd/system 服务。

如果我表演,

systemctl -l

它将按字母顺序列出所有服务。但我专门寻找可用于“按加载顺序”列出 systemd 服务的任何命令/脚本。

请帮忙。

【问题讨论】:

  • 试试systemctl list-dependencies。我想这就是你要找的。​​span>
  • systemctl list-dependencies不会考虑更细微的服务启动顺序,正确答案由shibley (systemd-analyze plot)给出

标签: systemd yocto


【解决方案1】:

不幸的是,由于启动过程的并行性质以及服务之间潜在的复杂依赖关系,服务启动顺序不是很确定。但是,systemd-analyze,如果存在于您的系统上,可以以图形方式绘制服务的启动顺序:

systemd-analyze plot > startup_order.svg

它还可以用于以图形方式绘制服务依赖关系:

systemd-analyze dot | dot -Tsvg > systemd.svg

【讨论】:

  • 很酷的东西!恭喜发帖
【解决方案2】:

@shibley 与systemd-analyze 的提示很棒。在此处添加其他有用的 systemd-analyze 命令,因为我还不能评论...

  1. 找出对启动时间影响最大​​的服务:

    systemd-analyze blame
    
  2. 在具有时序影响的服务依赖项的终端中打印一棵树

    systemd-analyze critical-chain
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    相关资源
    最近更新 更多