slackware-current/source/a/dbus/rc.messagebus

83 lines
1.8 KiB
Text
Raw Normal View History

#!/bin/sh
#
# messagebus: The D-BUS systemwide message bus
#
# description: This is a daemon which broadcasts notifications of system events \
# and other messages. See http://www.freedesktop.org/software/dbus/
#
# processname: dbus-daemon
# pidfile: /var/run/dbus/pid
# This is a modified version of the rc.messagebus script distributed with the
# dbus sources. Thanks to Don Tanner of the GWare <http://gware.org> Project
# for most of the work involved --Robby Workman <rworkman@slackware.com>
PIDFILE=/var/run/dbus/dbus.pid
start() {
mkdir -p $(dirname $PIDFILE)
if ! ps -u messagebus -c | grep -wq dbus-daemon; then
rm -f $(dirname $PIDFILE)/*
if [ -x /usr/bin/dbus-uuidgen -a -x /usr/bin/dbus-daemon ] ; then
echo "Starting system message bus: /usr/bin/dbus-uuidgen --ensure ; /usr/bin/dbus-daemon --system"
/usr/bin/dbus-uuidgen --ensure
/usr/bin/dbus-daemon --system 1> /dev/null
fi
fi
}
stop() {
if [ -e "$PIDFILE" ]; then
echo "Stopping system message bus..."
pid=$(cat $PIDFILE)
kill $pid 1> /dev/null 2> /dev/null
# Just in case:
killall dbus-daemon 1> /dev/null 2> /dev/null
rm -f $PIDFILE
fi
}
reload() {
echo "Reloading system message bus configuration..."
if [ -e "$PIDFILE" ]; then
pid=$(cat $PIDFILE)
kill -HUP $pid
else
killall -HUP dbus-daemon
fi
}
status() {
if ps -u messagebus -c | grep -wq dbus-daemon; then
echo "System dbus-daemon is running."
else
echo "System dbus-daemon is stopped."
fi
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
echo "You may need to restart your Window Manager to reconnect to the system dbus."
;;
reload)
reload
;;
status)
status
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status}"
;;
esac