systemd 服务可以在多个运行级别运行吗

Posted

技术标签:

【中文标题】systemd 服务可以在多个运行级别运行吗【英文标题】:can a systemd service be run at multiple run levels 【发布时间】:2016-03-04 19:52:21 【问题描述】:

我有一个 sysv 样式的初始化文件,用于 centos 7.1 中使用的服务 当系统启动时,systemd 会生成一个服务文件,它 似乎对 2 级和 3 级都启用了。

我有以下问题: 1)服务可以在每个运行级别启动两次吗? 【如何预防 如果它可以启动] 2)如何检查当前正在执行的服务在哪个运行级别 开始于 ? 谢谢 阿文德

【问题讨论】:

【参考方案1】:

这取决于您的服务。如果您的服务是活动服务,则启动它不会做任何事情。您可以通过运行“systemctl status yourservice.service”来查看您的服务是否为活动服务。如果您的服务未处于活动状态,您可以告诉 systemd 即使在它退出后也将其视为活动服务。用于此的指令是 RemainAfterExit= (https://www.freedesktop.org/software/systemd/man/systemd.service.html#RemainAfterExit=)。

要了解您的服务是由哪个运行级别启动的,您需要查看“systemctl show yourservice.service”输出。查看WantedBy=RequiredBy= 字段中列出的内容。

【讨论】:

以上是关于systemd 服务可以在多个运行级别运行吗的主要内容,如果未能解决你的问题,请参考以下文章

Centos8种如何更改运行级别

Linux:检查当前运行级别的五种方法

centos7运行级别和图形界面相关操作

systemd概念和运行机制

centos7 运行级别

Linux的系统启动流程