首页 > 解决方案 > linux - 通过 dbus 停止 systemd-networkd

问题描述

我在 docker 容器中运行了一些 python 代码。我将主机的 systemd-networkd 配置目录映射到 docker 容器内的一些文件夹,并且我还有一个 dbus 套接字映射到 docker 容器中。我的 python 代码更改了主机的网络配置文件,然后使用 dbus python API 停止然后在主机上启动 systemd-networkd。

出于某种原因,在我再次启动之前,systemd networkd 进程在大约 5 秒后重新启动。但是,如果我在主机上使用“服务停止 systemd-networkd”,则不会发生这种情况。

是否需要设置任何配置以使其在通过 dbus 停止时不会自行重启?

谢谢。

编辑 - 我找到了原因。我有一个绑定接口,我需要更新它的配置。networkd 不会重新加载绑定配置,因此我尝试使用 ip link del 删除我的 python 代码中的绑定。一旦绑定被删除,systemd 就会识别它并重新启动网络。如果我使用 systemctl 停止 systemd-networkd 并手动删除绑定,也会发生这种情况。我可以禁用此行为并在删除绑定后将其恢复吗?

标签: pythondockersystemd

解决方案


推荐阅读