51 lines
1.0 KiB
Bash
Executable File
51 lines
1.0 KiB
Bash
Executable File
#! /sbin/sh
|
|
|
|
# SSHd startup/shutdown script, based on uucp script.
|
|
|
|
PIDFILE="%%PIDDIR%%/sshd.pid"
|
|
PGREP="/usr/bin/pgrep"
|
|
HEAD="/usr/bin/head"
|
|
XARGS="/usr/bin/xargs"
|
|
KILL="/usr/bin/kill"
|
|
|
|
killproc() {
|
|
_procname=$1
|
|
_signal=$2
|
|
${PGREP} ${_procname} | ${HEAD} -1 | ${XARGS} -t -I {} ${KILL} -${_signal} {}
|
|
}
|
|
|
|
case $1 in
|
|
'start')
|
|
/usr/local/sbin/sshd
|
|
;;
|
|
|
|
'stop')
|
|
if [ -r $PIDFILE -a ! -z ${PIDFILE} ]; then
|
|
PID=`cat ${PIDFILE}`
|
|
fi
|
|
if [ ${PID:=0} -gt 1 -a ! "X$PID" = "X " ]; then
|
|
/usr/bin/kill $PID
|
|
else
|
|
echo "Unable to read PID file, killing using alternate method"
|
|
killproc sshd TERM
|
|
fi
|
|
;;
|
|
|
|
'restart')
|
|
if [ -r $PIDFILE -a ! -z ${PIDFILE} ]; then
|
|
PID=`cat ${PIDFILE}`
|
|
fi
|
|
if [ ${PID:=0} -gt 1 -a ! "X$PID" = "X " ]; then
|
|
/usr/bin/kill -HUP $PID
|
|
else
|
|
echo "Unable to read PID file, trying alternate method"
|
|
killproc sshd HUP
|
|
/usr/local/sbin/sshd
|
|
fi
|
|
;;
|
|
|
|
*)
|
|
echo "usage: /etc/init.d/sshd {start|stop|restart}"
|
|
;;
|
|
esac
|