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)。