#!/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## We need /sbin/ip[ -x /sbin/ip ] || exit 1PIDFILE=/var/run/NetworkManager.pidnm_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: /usr/bin/NetworkManager" /usr/bin/NetworkManager}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