如何确定哪个进程/服务/程序正在发送 systemd dbus 消息?

如何确定哪个进程/服务/程序正在发送 systemd dbus 消息?

目前我的 systemd 日志充满了以下形式的消息:

Feb 01 16:40:31 host systemd[1]: Got message type=method_call 
sender=:1.58666 destination=org.freedesktop.systemd1 object=/org
/freedesktop/systemd1 interface=org.freedesktop.DBus.Properties member=Get
cookie=2 reply_cookie=0 error=n/a

唯一的标识符似乎是发送者,它似乎每隔几秒就会更改一次(因此我无法尝试将发送者映射到 PID),并且在类似硬件或操作系统上的其他系统上似乎不会发生这种情况。有没有某种方法可以识别发送此消息的内容(以便我可以停止该进程/服务/其他内容或控制发送的消息量)。

答案1

之间存在映射关系唯一的连接名称 并可通过 访问进程busctl

如果它保持稳定几秒钟,您可以碰碰运气,试图在它发生时抓住它。

journalctl -f | \
while read line ; do
        echo "$line" | grep "sender=:"
        if [ $? = 0 ]
        then
                busctl --no-pager | grep
        fi
done

(基于这个答案

相关内容