LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1031|回复: 2

dbus-daemon进程数量不断增加

[复制链接]
发表于 2010-9-25 07:17:29 | 显示全部楼层 |阅读模式
反复运行firefox、pidgin等程序不断生成新dbus-daemon进程(不是dbus系统进程,参数是dbus-daemon --fork --print-pid 5 --print-address 7 --session),程序关闭后dbus-daemon继续存在,一天后系统里有了70多个dbus-daemon。

有什么办法让这个进程随着使用者退出而自动退出?
发表于 2010-9-26 13:34:43 | 显示全部楼层
其实我也想【同问】这个问题。

目前找到的解决方案是:
  1. is_running() {
  2.   for pid in $(pidof "$1"); do
  3.     if kill -0 $pid 2>/dev/null; then
  4.       return 0
  5.     fi
  6.   done
  7.   return 1
  8. }
  9. if ! is_running dbus-daemon; then
  10.         dbus-launch --sh-syntax > $HOME/.dbus-env
  11. fi
  12. source $HOME/.dbus-env
复制代码

注意,此法实质上就是通过设定 env 强制所有进程使用同样一套 dbus-session。

因为,事实上问题出在:对于一个特定的 X session,应该只有一个 session-dbus,而不应当启动多个。

至于退出的问题,session-dbus 本来就是不退出的,所以程序退出之后他还存在,这非常正常。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-9-26 17:18:41 | 显示全部楼层
放假回老家机器配置低,现在禁用了dbus和hal守护,用exitx代替lxde-logout实现关机挂起。

目前在.xinitrc里调用exec dbus-launch ck-launch-session /usr/bin/lxsession启动lxde,
dbus-launch设置了DBUS_SESSION_BUS_ADDRESS,暂时没发现应用程序自作主张调用dbus-daemon创建session bus了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表