【发布时间】:2012-11-30 08:29:42
【问题描述】:
我有一个 .service 用于我不想在启动时启动的进程,而是在给定时间从另一个已经运行的应用程序中以某种方式调用它。
另一种选择是将 D-Bus(我在我的应用程序中使用 glib dbus)服务文件放在 /usr/share/dbus-1/services 中,并以某种方式从我的应用程序中调用它。另外,我也不会这样做。
假设我来自/usr/share/dbus-1/services 的dbus 服务文件是com.callThis.service
和我来自/lib/systemd/system is com.startThis.service的主要服务文件
如果我从命令行运行一个简单的内省:
/home/root # dbus-send --session --type=method_call --print-reply \
--dest=com.callThis /com/callThis org.freedesktop.DBus.Introspectable.Introspect
D-Bus 服务文件将被调用并启动 Exec ( com.starThis ) 中的内容。问题是我想使用 D-Bus glib 从 C/C++ 代码中实现这一点。
【问题讨论】:
-
你尝试实现了吗?展示你做的一些第一步。大量的文档甚至一个例子都可以在developer.gnome.org/gio/2.30/GDBusConnection.html 找到
-
freedesktop.org/wiki/Software/systemd/dbus 这是
systemd的 DBUS API 的信息
标签: unix service process dbus systemd