场景是这样的:
在基于 Linux 的手持设备中,我有一个 C 应用程序,它具有准备好由第 3 方应用程序调用的 dbus API。 DBus API 在启动期间被调用。
我的函数中是否可以使用任何系统 API 来打印调用者的 ID 并将其保存到系统日志?
提前致谢!
最佳答案
org.freedesktop.DBus
总线上的
/org/freedesktop/DBus
对象有两个属于 org.freedesktop.DBus
的方法接口(interface)(哦,好吧):GetConnectionUnixUser
和 GetConnectionUnixProcessID
。两者都接受一个字符串——唯一的连接名称,可以通过调用 dbus_message_get_sender
(或您的高级 API 包装器提供的任何方法)获得。
关于linux - 谁在Linux系统调用了我的DBus API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5885253/