解析systemd别名(服务名称)

时间:2019-02-04 11:41:22

标签: linux systemd systemctl

Systemd支持别名。例如“ httpd.service”

ls -l /etc/systemd/system/httpd.service
  /etc/systemd/system/httpd.service -> /usr/lib/systemd/system/apache2.service

此文件的内容:

[Unit]
Description=The Apache Webserver
...
[Install]
WantedBy=multi-user.target
Alias=httpd.service apache.service

我想在脚本中解析别名。

示例:

如果输入为“ httpd.service”,则输出应为“ apache2.service”

我可以在此脚本中使用shell或python。

如何以系统方式执行此操作?

读取符号链接可能有用,但是我想有一种更正式的方式来解析别名。

1 个答案:

答案 0 :(得分:1)

您应要求提供别名服务的Id属性

> systemctl show -p Id --value httpd.service
apache2.service

您还可以查询Names属性

> systemctl show -p Names --value httpd.service
httpd.service apache2.service