我正在尝试在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
会起作用
有人可以区分After
和Wants
以及何时使用什么吗?
答案 0 :(得分:0)
指定After=foo
告诉systemd如果两个单元同时启动,如何订购它们。不会导致foo
单元自动启动。
将After=foo
与Wants=foo
或Requires=foo
结合使用以启动foo
(如果尚未启动)并保持所需的单位顺序。
因此,您的[单位]应该包括:
[Unit]
Description=Example systemd service.
After=nginx.service
Wants=nginx.service
Wants
与Requires
之间的区别:
Wants =:此伪指令与Requires =相似,但不太严格。激活此单元后,Systemd将尝试启动此处列出的任何单元。如果找不到这些单元或无法启动它们,则当前单元将继续运行。这是配置大多数依赖关系的推荐方法。