Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 仅当服务A存在时,系统D服务B在另一个服务A之后启动_Linux_Service_Systemd - Fatal编程技术网

Linux 仅当服务A存在时,系统D服务B在另一个服务A之后启动

Linux 仅当服务A存在时,系统D服务B在另一个服务A之后启动,linux,service,systemd,Linux,Service,Systemd,我有两个系统服务A和B。我希望B在A之后被执行,但只有当A存在时,否则就执行B 您需要在B.service文件中添加: After=A.service 或者,您可以向服务中添加: Before=B.service 从SystemD文档: 前=,后= 这两种设置需要一个以空格分隔的单元名称列表。它们配置单元之间的顺序依赖关系。如果一个单元foo.service在=bar.service之前包含一个设置,并且两个单元都在启动,则bar.service的启动将延迟到foo.service完成启动。

我有两个系统服务A和B。我希望B在A之后被执行,但只有当A存在时,否则就执行B

您需要在B.service文件中添加:

After=A.service
或者,您可以向服务中添加:

Before=B.service
从SystemD文档:

前=,后=

这两种设置需要一个以空格分隔的单元名称列表。它们配置单元之间的顺序依赖关系。如果一个单元foo.service在=bar.service之前包含一个设置,并且两个单元都在启动,则bar.service的启动将延迟到foo.service完成启动。请注意,此设置独立于由Requires=、Wants=或BindsTo=配置的需求依赖项,并与之正交


文档来源:

SerivceB
需要包含
Wants=
指令,用于
ServiceA
<代码>单元服务b.服务文件的部分如下所示:

[Unit]
Description=ServiceB description
Wants=ServiceA.service

Wants=Requires=的较弱版本。此选项中列出的单位将 如果配置单元已启动,则将启动。但是,如果列出的单位 无法启动或无法添加到事务中,这没有 对整个交易有效性的影响。这是 将一台机组的启动与一台机组的启动连接起来的推荐方法 另一个单位

请注意,此类型的依赖项也可以在外部配置 通过将符号链接添加到.wants/目录来创建单元配置文件 随附单位档案。有关详细信息,请参见上文