xrdp/instfiles/xrdp_control.sh

102 lines
1.9 KiB
Bash
Raw Normal View History

2007-02-04 07:09:08 +08:00
#!/bin/bash
# this needs to be a bash script, the first line needs to be #!/bin/bash
2006-02-05 03:19:34 +08:00
# xrdp control script
# Written : 1-13-2006 - Mark Balliet - posicat@pobox.com
2007-02-04 07:09:08 +08:00
# maintaned by Jay Sorg
# chkconfig: 2345 11 89
# description: starts xrdp
2006-02-05 03:19:34 +08:00
XRDP=xrdp
SESMAN=sesman
STARTWM=startwm.sh
XRDP_DIR=/usr/local/xrdp/
LOG=/dev/null
cd $XRDP_DIR
test -x $XRDP || (echo "$XRDP is not executable" ; exit 0)
test -x $SESMAN || (echo "$SESMAN is not executable" ; exit 0)
test -x $STARTWM || (echo "$STARTWM is not executable" ; exit 0)
xrdp_start () {
echo -n "Starting : xrdp and sesman . . "
./$XRDP >> $LOG
./$SESMAN >> $LOG
echo "."
sleep 1
return 0
}
xrdp_stop () {
echo -n "Stopping : xrdp and sesman . . "
./$SESMAN --kill >> $LOG
./$XRDP --kill >> $LOG
echo "."
}
check_up () {
xrdpup=`ps u --noheading -C $XRDP`
sesup=`ps u --noheading -C $SESMAN`
# Cleanup : If sesman isn't running, but the pid exists, erase it.
if [ "$sesup" == "" ]
then
2007-02-04 07:09:08 +08:00
if [ -e /var/run/sesman.pid ]
then
rm /var/run/sesman.pid
fi
2006-02-05 03:19:34 +08:00
fi
2006-02-13 03:29:16 +08:00
# Cleanup : If xrdp isn't running, but the pid exists, erase it.
if [ "$xrdpup" == "" ]
then
2007-02-04 07:09:08 +08:00
if [ -e /var/run/xrdp.pid ]
then
rm /var/run/xrdp.pid
fi
2006-02-13 03:29:16 +08:00
fi
2006-02-05 03:19:34 +08:00
}
case "$1" in
start)
2007-02-04 07:09:08 +08:00
check_up
if [ "$xrdpup" != "" ]
then
echo "Xrdp is already loaded"
exit 1
fi
if [ "$sesup" != "" ]
then
echo "sesman is already loaded"
exit 1
fi
xrdp_start
;;
2006-02-05 03:19:34 +08:00
stop)
2007-02-04 07:09:08 +08:00
check_up
if [ "$xrdpup" == "" ]
then
echo "xrdp is not loaded."
fi
if [ "$sesup" == "" ]
then
echo "sesman is not loaded."
fi
xrdp_stop
;;
2006-02-05 03:19:34 +08:00
force-reload|restart)
2007-02-04 07:09:08 +08:00
check_up
echo "Restarting Xrdp ..."
xrdp_stop
while [ "$xrdpup" != "" ]; do
check_up
sleep 1
done
xrdp_start
;;
2006-02-05 03:19:34 +08:00
*)
2007-02-04 07:09:08 +08:00
echo "Usage: xrdp_control.sh {start|stop|restart|force-reload}"
exit 1
2006-02-05 03:19:34 +08:00
esac
exit 0