Systemd 单元启动与启用

Systemd 单元启动与启用

有人可以帮我澄清一下两者之间的区别吗“使能够”“开始”对于 systemd 单元。有人告诉我,如果一个单元有一个 [Install] 部分,那么enable应该被调用,否则就start足够了。

在启动过程中如何处理? Systemd 自动做出正确的决定?

答案1

start(激活)服务,您将运行命令systemctl start my_service.service,这将立即在当前会话中启动该服务。

对于enable启动时的服务,您将运行systemctl enable my_service.service

使能够一个或多个单元或单元实例。这将创建一组符号链接,如指定单元文件的“[Install]”部分中编码的那样。创建符号链接后,系统管理器配置将重新加载(以相当于守护进程重新加载的方式),以确保立即考虑更改

其中/usr/lib/systemd/system/包含init脚本,当您键入systemctl enable在启动时启动服务时,它将链接到/etc/systemd/system/

#systemctl enable my_service.service
ln -s '/usr/lib/systemd/system/my_service.service' '/etc/systemd/system/multi-user.target.wants/my_service.service'

答案2

systemctl enable将系统配置为在下次重新启动时启动服务(包含有关正确目标状态的警告等)。

systemctl start立即启动(激活)服务。

因此,如果您希望服务立即启动并在每次重新启动时启动,那么您需要enable start服务。

相关内容