我正在阅读https://www.freedesktop.org/software/systemd/man/systemd.service.html,如果[Install]服务自动启动需要部分,我找不到信息。
使某些程序在启动时执行的标准方法systemd是为其创建.service文件,将该文件放入相应目录并运行systemctl enable <service>以启用它以启动序列。[Install]部分在这里是强制性的,因为它告诉systemd您应该在启动过程中的哪个时刻启动您的服务。您的进程应该链接到一些通用引导目标,例如multi-user.target或graphical.target,或特殊目的目标(例如network-online.target),或自定义本地目标。
例子:
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
这里systemd将注入您的服务作为multi-user.target. systemd将在multi-user目标启动时启动您的服务。
systemd 读取其配置目录中的文件(或符号链接)以查看应以何种顺序启动哪些单元。systemctl enable为它已经知道的服务创建这样的符号链接,并将这些符号链接放在应该启动服务的引导过程中的点(例如,在特殊的multi-user.target.wants/子目录中。)
还有另一种操作系统如何systemd在启动时启动自己的服务的方式。这不是你应该做的事情,但由于问题是关于[Install]部分......
有systemd单位称为“静态”的单位和它们不是由管理systemctl enable(或systemctl disable)他们是通过硬编码符号链接开机启动/usr/lib/systemd/system/(代替/etc/systemd/system/),如果你遇到他们看,而在你的系统单位......知道他们没有[Install]节。
(您可以在此论坛帖子中查看有关静态单位的更多详细信息的讨论。)
| 归档时间: |
|
| 查看次数: |
2879 次 |
| 最近记录: |