0

我目前面临的问题是我想在另一个单元重新加载时触发 Systemd 单元 - 而不是重新启动。这是我到目前为止所取得的成就:

[Unit]
After=teleport.service
Requires=teleport.service
PartOf=teleport.service

[Service]
ExecStart=/usr/bin/bash -c "Reloaded gracefully | /usr/bin/logger"

但这仅适用于 systemctl restart teleport。重新加载不起作用。如何在不触及原始 teleport.service 单元的情况下实现这一点?

4

1 回答 1

0

发现这可以通过插入文件轻松实现。可以像这样使用而不是编写新的单元插入文件:

您可以在 /etc/systemd/... 中为 /lib 或 /usr/lib 中定义的单元创建插入文件:/etc/systemd/system/teleport.service.d/override.conf

[Service] 
ExecReload=
ExecReload=/usr/bin/bash -c "/bin/kill -HUP $MAINPID; usr/bin/bash -c "Reloaded gracefully | /usr/bin/logger"

首先定义的属性需要取消设置。[服务] 之后直接发生的事情。

于 2021-04-20T07:27:12.330 回答