![显示已合并其覆盖内容的 systemd 单元文件](https://linux22.com/image/774534/%E6%98%BE%E7%A4%BA%E5%B7%B2%E5%90%88%E5%B9%B6%E5%85%B6%E8%A6%86%E7%9B%96%E5%86%85%E5%AE%B9%E7%9A%84%20systemd%20%E5%8D%95%E5%85%83%E6%96%87%E4%BB%B6.png)
systemctl cat myunit.service
打印主文件的内容myunit.service
,后面跟着任何覆盖文件。有没有办法打印 systemd 实际使用的单元文件,即由覆盖合并到主单元中形成的单元文件?
答案1
您可以使用它systemctl show myunit.service
来显示单元的属性。它将打印与该单元文件相关的所有属性、全局配置以及在单元文件中进行的任何自定义。
默认情况下,空属性会被隐藏。使用 --all 也可以显示这些属性。
systemctl show myunit.service --all
如果您想检查给定的属性,请使用以下语法:
systemctl show myunit.service --property=<PROPERTY_NAME>
#example
#systemctl show myunit.service --property=ExecStart
请注意,输出可能并不完全符合您的预期:
请注意,该命令显示的属性通常是原始配置设置的更低级、标准化版本,除了配置之外,还公开运行时状态。例如,服务单元显示的属性包括服务当前主进程标识符“MainPID”(即运行时状态),并且即使匹配的配置选项以“...Sec”结尾,时间设置也始终以“...USec”后缀结尾的属性公开,因为微秒是系统和服务管理器内部使用的标准化时间单位。
有关这些属性的详细信息,请参阅支持这些属性的 D-Bus 接口的文档,请参阅org.freedesktop.systemd1(5)。