系统单元文件可能放置在许多不同的地方。 有没有一种简单快捷的方法来询问systemd在哪里读取服务的声明,只给出服务名称?
对于在实际的静态文件中定义的单位,可以在systemctl status看到:
$ systemctl status halt-local.service ● halt-local.service - /usr/sbin/halt.local Compatibility Loaded: loaded (/lib/systemd/system/halt-local.service; static) Active: inactive (dead)
但是有三个是没有被文件定义的单元,比如安装了systemd-cron 。 这些没有有用的地方列出status :
$ systemctl status cron-jojo-0.timer ● cron-jojo-0.timer - [Cron] "*/10 * * * * ..." Loaded: loaded (/var/spool/cron/crontabs/jojo) Active: active (waiting) since Mon 2015-05-18 14:53:01 UTC; 9min ago
无论哪种情况, FragmentPath字段都在教育:
$ systemctl show -p FragmentPath cron-daily.service FragmentPath=/lib/systemd/system/cron-daily.service $ systemctl show -p FragmentPath cron-jojo-0.service FragmentPath=/run/systemd/generator/cron-jojo-0.service $ systemctl show -p FragmentPath halt-local.service FragmentPath=/lib/systemd/system/halt-local.service