对于我的服务,我有:
#cat my.service
[Unit]
Description=My Service
After=dbus.service
Requires=dbus.service
...
有一段时间我发现我的服务无法获得dbus连接
(dbus_bus_get_private()失败,没有任何错误消息)
我认为有一种可能性是dbus没有完全初始化
从上面的服务文件配置,我明白我什么时候开始我的服务,
首先启动dbus服务,然后启动我的服务
但我不确定我的服务启动步骤是否延迟,直到dbus为
完全启动,初始化和运行并准备好接受连接
有没有办法在我的服务文件中指定它。
对于ex,对于systemd-networkd,service,我看到它指定如下:
#On kdbus systems we pull in the busname explicitly, because it
#carries policy that allows the daemon to acquire its name.
Wants=org.freedesktop.network1.busname
After=org.freedesktop.network1.busname
我可以使用相同的(在dbus名称上指定After / Wants)吗?
感谢您的帮助。
谢谢