summaryrefslogtreecommitdiffstats
path: root/crypto/openssh/init.d/sshd
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssh/init.d/sshd')
-rwxr-xr-xcrypto/openssh/init.d/sshd35
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
+}