diff options
Diffstat (limited to 'crypto/openssh/init.d/sshd')
-rwxr-xr-x | crypto/openssh/init.d/sshd | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/crypto/openssh/init.d/sshd b/crypto/openssh/init.d/sshd new file mode 100755 index 0000000000..c90f1e840e --- /dev/null +++ b/crypto/openssh/init.d/sshd @@ -0,0 +1,35 @@ +#!/bin/sh + +PROGRAM=/usr/sbin/sshd +RUNLEVEL=3 +NEEDS="+network +remote_fs" + +. /etc/init.d/smgl_init + +start() { + echo -n "Starting sshd..." + $PROGRAM + ITER=0 + while [ ! -e /var/run/sshd.pid ] && [ "$ITER" -lt 10 ] ; do sleep 1; echo -n . ;ITER=$((++ITER)); done + echo + if [ -e /var/run/sshd.pid ]; then + ps -p `cat /var/run/sshd.pid` > /dev/null && evaluate_retval + else + print_status failure + exit 1 + fi +} + +reload() { + # reloadproc causes loss of connection when remotely connected + echo "Reloading sshd..." + if [ -e /var/run/sshd.pid ]; then + kill `cat /var/run/sshd.pid` + sleep 1 + fi + $0 start +} + +restart() { +run_func reload +} |