Files
NetworkManager/initscript/Slackware/rc.networkmanager.in
Dan Williams e5040768d1 2006-04-16 Dan Williams <dcbw@redhat.com>
Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
	* configure.in
	  initscript/Slackware/Makefile.am
	  initscript/Slackware/rc.networkmanager-dispatcher.in
	  initscript/Slackware/rc.networkmanager.in
		- Update slackware initscripts


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1688 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-04-17 02:03:09 +00:00

100 lines
1.8 KiB
Bash

#!/bin/sh
#
# NetworkManager: NetworkManager daemon
#
# description: This is a daemon for automatically switching network \
# connections to the best available connection. \
#
# processname: NetworkManager
# pidfile: /var/run/NetworkManager.pid
#
prefix=@prefix@
exec_prefix=@prefix@
sbindir=@sbindir@
NETWORKMANAGER_BIN=${sbindir}/NetworkManager
# Sanity checks.
[ -x $NETWORKMANAGER_BIN ] || exit 0
# We need /sbin/ip
[ -x /sbin/ip ] || exit 0
PIDFILE=/var/run/NetworkManager.pid
nm_start()
{
if [ "`pgrep dbus-daemon`" = "" ]; then
echo "D-BUS must be running to start NetworkManager"
return
fi
if [ "`pgrep hald`" = "" ]; then
echo "HAL must be running to start NetworkManager"
return
fi
# Just in case the pidfile is still there, we may need to nuke it.
if [ -e "$PIDFILE" ]; then
rm -f $PIDFILE
fi
echo "Starting NetworkManager daemon: $NETWORKMANAGER_BIN"
$NETWORKMANAGER_BIN
}
nm_status()
{
local pidlist=`cat $PIDFILE 2>/dev/null`
if [ -z "$pidlist" ]; then
return 1
fi
local command=`ps -p $pidlist -o comm=`
if [ "$command" != 'NetworkManager' ]; then
return 1
fi
}
nm_stop()
{
echo -en "Stopping NetworkManager: "
local pidlist=`cat $PIDFILE 2>/dev/null`
if [ ! -z "$pidlist" ]; then
kill $pidlist &>/dev/null
rm -f $PIDFILE &>/dev/null
fi
echo "stopped";
}
nm_restart()
{
nm_stop
nm_start
}
case "$1" in
'start')
if ( ! nm_status ); then
nm_start
else
echo "NetworkManager is already running (will not start it twice)."
fi
;;
'stop')
nm_stop
;;
'restart')
nm_restart
;;
'status')
if ( nm_status ); then
echo "NetworkManager is currently running"
else
echo "NetworkManager is not running."
fi
;;
*)
echo "usage $0 start|stop|status|restart"
esac