日期:2014-05-16  浏览次数:21065 次

亟待大牛解答! DBUS的自启动过程 !!
网上有提到基于DBus,“当A要调用B的函数,如果B进程还没有启动,则dbus-daemon会自动的先把B进程启动起来”,请问具体内部是怎么实现的?越详细越好~

------解决方案--------------------
Linux 一般发行版上  "/usr/share/dbus-1/services/"目录就是dbus放service文件的地方。
需要自动启动的服务器 就在这个目录放一个 service文件,内容如下:
$ cat /usr/share/dbus-1/services/dhcdbd.service
[D-BUS Service]

Name=com.redhat.dhcp

Exec=/usr/sbin/dhcdbd
Name是服务器的公共名,Exec是服务器的执行路径。
在客户请求一个服务,但该服务还没有启动时,dbus会根据这个service文件自动启动服务。

答案来自 http://blog.csdn.net/linweig/article/details/5068205