首页 > 解决方案 > 基于 systemd 文本的控制台年表

问题描述


Systemd 启动过程非常复杂,因此按时间顺序获取已启动服务的列表会很有用。

为此,可以创建一个 svg 文件:

systemd-analyze plot > startup_order.svg

在分析服务器上的 systemd 行为时,获取基于 konsole 的版本会很有用。有人知道怎么做这个吗?

我来的最近的是

for i in $(systemctl --no-pager --no-legend --all -o short-precise | cut -f 1 -d " "); do printf "%s %s\n" "$(systemctl show $i -p ExecMainStartTimestampMonotonic 2>/dev/null)" "$i";done | sed -n '/=/p' | sed 's/^ExecMainStartTimestampMonotonic=//' | sort -n

但是,我认为ExecMainStartTimestampMonotonic不是开机启动时间。

有任何想法吗?

标签: systemd

解决方案


的输出systemd-analyze plot是一个 SVG,它只是文本 (XML)。你可以解析它sed来得到你想要的。


推荐阅读