unix - 从 C/C++ 应用程序启动 systemd 服务或调用 D-Bus 服务

标签 unix service process dbus systemd

我有一个 .service 用于我不想在启动时启动的进程,而是在给定时间从另一个已经运行的应用程序中以某种方式调用它。

另一种选择是将 D-Bus(我在我的应用程序中使用 glib dbus)服务文件放在/usr/share/dbus-1/services 中,并以某种方式从我的应用程序中调用它。另外,我也无法做到这一点。

假设我的 dbus 服务文件来自 /usr/share/dbus-1/servicescom.callThis.service和我的主要服务文件来自 /lib/systemd/system is com.startThis.service
如果我从命令行运行一个简单的内省(introspection):

/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++ 代码中实现这一点。

最佳答案

关于unix - 从 C/C++ 应用程序启动 systemd 服务或调用 D-Bus 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13843093/

相关文章:

unix - 永远不会执行的 cron 作业

android - 无法从 adb shell 读取和写入

php - 授予特定用户启动/停止特定服务的权限

java - 无法运行用户服务。异常 : Failed to start Java, ServiceStart 返回 4

Delphi服务无法启动

linux - 确定定义 UNIX 别名的位置

windows - 程序如何删除自己的可执行文件

c# - 在 CMD 中运行脚本可以工作,但是在 C# python 脚本中使用 Process.Start() 运行时失败

c - 为什么如果我输入\n或不输入,输出的顺序会不同

linux - 如何在 Shell 的循环中定义两个具有一对一关系的变量