systemd After = nginx.service无法正常工作

时间:2020-05-27 04:14:52

标签: linux systemd

我正在尝试在linux系统上设置自定义systemd服务,并正在尝试
以下是我的自定义服务,它将触发bash文件

[Unit]
Description=Example systemd service.
After=nginx.service

[Service]
Type=simple
ExecStart=/bin/bash /usr/bin/test_service.sh

[Install]
WantedBy=multi-user.target

自从我提到After=nginx.service以来,我一直希望nginx serivce自动启动
因此,在启动上述服务后,我检查了尚未启动的nginx的状态

但是,如果我将After替换为Wants会起作用
有人可以区分AfterWants以及何时使用什么吗?

1 个答案:

答案 0 :(得分:0)

指定After=foo告诉systemd如果两个单元同时启动,如何订购它们。不会导致foo单元自动启动。

After=fooWants=fooRequires=foo结合使用以启动foo(如果尚未启动)并保持所需的单位顺序。

因此,您的[单位]应该包括:

[Unit]
Description=Example systemd service.
After=nginx.service
Wants=nginx.service

WantsRequires之间的区别:

Wants =:此伪指令与Requires =相似,但不太严格。激活此单元后,Systemd将尝试启动此处列出的任何单元。如果找不到这些单元或无法启动它们,则当前单元将继续运行。这是配置大多数依赖关系的推荐方法。