/etc/init.d/ziproxy is in ziproxy 3.2.0-2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | #!/bin/sh
### BEGIN INIT INFO
# Provides: ziproxy
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Init script for ziproxy
# Description: This is the init script for ziproxy.
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/ziproxy
NAME=ziproxy
DESC=ziproxy
test -x $DAEMON || exit 0
PIDFILE=/var/run/$NAME.pid
DODTIME=1 # Time to wait for the server to die, in seconds
# If this value is set too low you might not
# let some servers to die gracefully and
# 'restart' will not work
if [ ! -d /var/run ]; then
mkdir -p /var/run
fi
# Include ziproxy defaults if available
if [ -f /etc/default/ziproxy ] ; then
. /etc/default/ziproxy
fi
DAEMON_OPTS="$DAEMON_OPTS -d -p $PIDFILE"
set -e
running_pid() {
# Check if a given process pid's cmdline matches a given name
pid=$1
name=$2
[ -z "$pid" ] && return 1
[ ! -d /proc/$pid ] && return 1
cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
# Is this the expected child?
##[ "$cmd" != "$name" ] && return 1
[ "$cmd" != "$name" ] && return 1
return 0
}
running() {
# Check if the process is running looking at /proc
# (works for all users)
# No pidfile, probably no daemon present
[ ! -f "$PIDFILE" ] && return 1
# Obtain the pid and check it against the binary name
pid=`cat $PIDFILE`
if ! running_pid $pid $DAEMON; then
rm $PIDFILE
return 1
fi
return 0
}
force_stop() {
# Forcefully kill the process
[ ! -f "$PIDFILE" ] && return
if running ; then
kill -15 $pid
# Is it really dead?
[ -n "$DODTIME" ] && sleep "$DODTIME"s
if running ; then
kill -9 $pid
[ -n "$DODTIME" ] && sleep "$DODTIME"s
if running ; then
echo "Cannot kill $NAME (pid=$pid)!"
exit 1
fi
fi
fi
rm -f $PIDFILE
return 0
}
is_not_running() {
if ! running; then
echo "$NAME is not running."
exit 1
fi
}
do_start() {
off_echo=$1
[ $off_echo ] || echo -n "Starting $DESC: "
if running; then
echo "$NAME is already running."
exit 0
fi
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--exec $DAEMON -- $DAEMON_OPTS
if running; then
[ $off_echo ] || echo "$NAME."
else
echo " ERROR."
fi
}
do_stop() {
off_echo=$1
[ $off_echo ] || echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
--exec $DAEMON
[ -f $PIDFILE ] && rm $PIDFILE
[ $off_echo ] || echo "$NAME."
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
force-stop)
echo -n "Forcefully stopping $DESC: "
is_not_running
force_stop
if ! running; then
echo "$NAME."
else
echo " ERROR."
fi
;;
restart|force-reload)
echo -n "Restarting $DESC: "
is_not_running
do_stop 1
[ -n "$DODTIME" ] && sleep $DODTIME
do_start 1
echo "$NAME."
;;
status)
echo -n "$NAME is "
if running ; then
echo "running."
else
echo "not running."
exit 1
fi
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload|status|force-stop}" >&2
exit 1
;;
esac
exit 0
|