adding example runit-style service directory
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
15
examples/var_service/ifplugd_if/ifplugd_handler
Executable file
15
examples/var_service/ifplugd_if/ifplugd_handler
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
# parameters:
|
||||
# $1: interface
|
||||
# $2: state
|
||||
|
||||
if test -d "/var/service/dhcp_$1"; then
|
||||
if test x"$2" = x"down"; then
|
||||
echo "Downing /var/service/dhcp_$1"
|
||||
sv d "/var/service/dhcp_$1"
|
||||
fi
|
||||
if test x"$2" = x"up"; then
|
||||
echo "Upping /var/service/dhcp_$1"
|
||||
sv u "/var/service/dhcp_$1"
|
||||
fi
|
||||
fi
|
21
examples/var_service/ifplugd_if/log/run
Executable file
21
examples/var_service/ifplugd_if/log/run
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
user=logger
|
||||
|
||||
logdir="/var/log/service/`(cd ..;basename $PWD)`"
|
||||
mkdir -p "$logdir" 2>/dev/null
|
||||
chown -R "$user": "$logdir"
|
||||
chmod -R go-rwxst,u+rwX "$logdir"
|
||||
rm logdir
|
||||
ln -s "$logdir" logdir
|
||||
|
||||
# make this dir accessible to logger
|
||||
chmod a+rX .
|
||||
|
||||
exec >/dev/null
|
||||
exec 2>&1
|
||||
exec \
|
||||
env - PATH="$PATH" \
|
||||
softlimit \
|
||||
setuidgid "$user" \
|
||||
svlogd -tt "$logdir"
|
4
examples/var_service/ifplugd_if/p_log
Executable file
4
examples/var_service/ifplugd_if/p_log
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd log/logdir || exit 1
|
||||
cat @* current | $PAGER
|
32
examples/var_service/ifplugd_if/run
Executable file
32
examples/var_service/ifplugd_if/run
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec 2>&1
|
||||
exec </dev/null
|
||||
|
||||
pwd="$PWD"
|
||||
|
||||
if="${PWD##*/ifplugd_}"
|
||||
|
||||
echo "* Starting ifplugd [$$]"
|
||||
exec \
|
||||
env - PATH="$PATH" \
|
||||
softlimit \
|
||||
setuidgid root \
|
||||
ifplugd -apq -n -s -i "$if" -r "$pwd/ifplugd_handler"
|
||||
|
||||
#-n Do not daemonize
|
||||
#-s Do not log to syslog
|
||||
#-i IFACE Interface
|
||||
#-f/-F Treat link detection error as link down/link up (otherwise exit on error)
|
||||
#-a Do not up interface automatically
|
||||
#-M Monitor creation/destruction of interface (otherwise it must exist)
|
||||
#-r PROG Script to run
|
||||
#-x ARG Extra argument for script
|
||||
#-I Dont exit on nonzero exit code from script
|
||||
#-p Dont run script on daemon startup
|
||||
#-q Dont run script on daemon quit
|
||||
#-l Run script on startup even if no cable is detected
|
||||
#-t SECS Poll time in seconds
|
||||
#-u SECS Delay before running script after link up
|
||||
#-d SECS Delay after link down
|
||||
#-m MODE API mode (mii, priv, ethtool, wlan, auto)
|
4
examples/var_service/ifplugd_if/w_log
Executable file
4
examples/var_service/ifplugd_if/w_log
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd log/logdir || exit 1
|
||||
watch -n2 'w=`ttysize w`; h=`ttysize h`; tail -$((h-3)) current 2>&1 | cut -b0-$((w-2))'
|
Reference in New Issue
Block a user