Skip to content

Instantly share code, notes, and snippets.

@pacojp
Created June 12, 2013 16:37
Show Gist options
  • Save pacojp/5766990 to your computer and use it in GitHub Desktop.
Save pacojp/5766990 to your computer and use it in GitHub Desktop.
#!/bin/bash
# djb svscan
#
# description: svscan
#
# chkconfig: 2345 96 98
# Source function library
. /etc/rc.d/init.d/functions
#!/bin/sh
# /etc/init.d/daemontools : start or stop daemontools
# written by Adam McKenna <[email protected]>
export PATH=$PATH:/usr/local/bin
l=/var/log/svscan
if [ ! -d $l ]; then
mkdir $l
chown daemon $l
fi
case "$1" in
start)
echo -n "Starting daemontools: "
if [ ! `pidof svscan` ]; then
echo -n "svscan "
env - PATH="$PATH" svscan /service 2>&1 | setuidgid daemon multilog t /var/log/svscan &
echo "."
else
echo "already running."
fi
;;
stop)
echo -n "Stopping daemontools: "
if [ `pidof svscan` ]; then
echo -n "svscan"
while [ `pidof svscan` ]; do
kill `pidof svscan`
echo -n "."
done
fi
echo -n " services"
for i in `ls -d /service/*`; do
svc -dx $i
echo -n "."
done
echo -n " logging "
for i in `ls -d /service/*/log`; do
svc -dx $i
echo -n "."
done
echo ""
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
echo 'Usage: /etc/init.d/svscan {start|stop|restart|force-reload}'
exit 1
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment