diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2010-02-10 00:34:32 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2010-02-10 00:34:32 +0000 |
commit | 87d3ed312c931a7831e723253095949b64d4c7d8 (patch) | |
tree | b2eb7a5ca4ba9d8d263c39e2651f9f0b8129a8c0 | |
parent | 275b0d8cd4f61e38f938398b2f41928a8519e0be (diff) | |
download | upstream-87d3ed312c931a7831e723253095949b64d4c7d8.tar.gz upstream-87d3ed312c931a7831e723253095949b64d4c7d8.tar.bz2 upstream-87d3ed312c931a7831e723253095949b64d4c7d8.zip |
dropbear: performance improvements in init script, quiet mode for start-stop-daemon - patch by Matthias Buecher <mail@maddes.net>
SVN-Revision: 19569
-rwxr-xr-x | package/dropbear/files/dropbear.init | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/package/dropbear/files/dropbear.init b/package/dropbear/files/dropbear.init index 4ee130c3a5..85a90d02fd 100755 --- a/package/dropbear/files/dropbear.init +++ b/package/dropbear/files/dropbear.init @@ -1,5 +1,5 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2006-2009 OpenWrt.org +# Copyright (C) 2006-2010 OpenWrt.org # Copyright (C) 2006 Carlos Sobrinho NAME=dropbear @@ -91,7 +91,7 @@ stop() local pidfile for pidfile in `ls /var/run/${NAME}.*.pid` do - start-stop-daemon -K -s KILL -p "${pidfile}" -n "${NAME}" >/dev/null + start-stop-daemon -q -K -s KILL -p "${pidfile}" -n "${NAME}" rm -f "${pidfile}" done [ -z "${pidfile}" ] && echo "${initscript}: no pid files, if you get problems with start then try killclients" @@ -112,12 +112,10 @@ killclients() [ "${pid}" -eq 0 ] && break # check if client connection - ps | grep -e "^[ ]*${pid} " | grep "${PROG}" >/dev/null - if [ $? -eq 0 ] - then + grep -F -q -e "${PROG}" "/proc/${pid}/cmdline" && { append ignore "${pid}" break - fi + } done # get all server pids that should be ignored @@ -130,9 +128,10 @@ killclients() local skip for pid in `pidof "${NAME}"` do - # check if correct program - ps | grep -e "^[ ]*${pid} " | grep "${PROG}" >/dev/null - [ $? -ne 0 ] && continue + # check if correct program, otherwise process next pid + grep -F -q -e "${PROG}" "/proc/${pid}/cmdline" || { + continue + } # check if pid should be ignored (servers, ourself) skip=0 |