Dbus:我如何监控进程?

Dbus:我如何监控进程?

我是 Dbus 新手,我很好奇是否有任何方法可以监视进程并查看该进程是否收到任何 Dbus 消息。(我正在从事某个项目,想知道 Xserver 在注销时是否收到任何 Dbus 消息)。非常感谢。

答案1

看一眼WIKI文章:

常用的总线有两种:session bussystem bus。任何应用程序都可以使用其中任意一种,具体取决于它正在执行的操作。

  • 要监控会话总线: dbus-monitor
  • 要监控系统总线:

创建一个文件/etc/dbus-1/system-local.conf,内容如下:

<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
    <policy user="root">
        <allow eavesdrop="true"/>
        <allow eavesdrop="true" send_destination="*"/>
    </policy>
</busconfig>

重新启动计算机以使配置更改生效。仅重新加载 DBus 服务器配置是不够的。有关更多信息,请参阅此错误。

现在以 root 身份运行 dbus-monitor。您应该能够看到所有信号、方法调用和方法回复。

sudo dbus-monitor --system

调试完成后,最好删除策略片段:

sudo rm /etc/dbus-1/system-local.conf

相关内容