bash – 启动后将pid映射到qdbus服务号码
发布时间:2020-12-15 22:32:16 所属栏目:安全 来源:网络整理
导读:我正在尝试编写一个bash脚本,它将启动一个程序(konsole)并向其发送dbus消息.这是我的实验 konsole echo pid is $!ps aux | grep konsoleqdbus | grep konsole 这输出 pid is 2726me 2726 0.0 0.4 45404 9952 pts/0 S+ 14:59 0:00 konsole org.kde.konsole-27
我正在尝试编写一个bash脚本,它将启动一个程序(konsole)并向其发送dbus消息.这是我的实验
konsole & echo pid is $! ps aux | grep konsole qdbus | grep konsole 这输出 pid is 2726 me 2726 0.0 0.4 45404 9952 pts/0 S+ 14:59 0:00 konsole org.kde.konsole-2729 qdbus服务名称始终是org.kde.konsole- {pid epsilon},但epsilon部分是不可预测的. 在我的bash脚本中,如何获取我刚刚生成的特定konsole实例的确切qdbus服务名称? 这是一个讨厌,黑客的解决方案 qdbus | grep konsole | sed 's/[^0-9]//g' > /tmp/before konsole & sleep 1 qdbus | grep konsole | sed 's/[^0-9]//g' > /tmp/after N=`sort /tmp/before /tmp/after | uniq -u` 但肯定有更好的方法! 解决方法
尝试使用qdbus org.kde.konsole / Konsole newSession通过D-Bus API启动新的Konsole实例.它将返回会话ID,以后可以通过调用org.kde.konsole服务的/ Session / $SID对象来控制它.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |