diff options
Diffstat (limited to 'run')
-rw-r--r-- | run | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -0,0 +1,28 @@ +#!/usr/bin/execlineb -P + +# TODO: +# a sane example of handling the arguments would be nice + +# populate some variables +define RUN_USER jdoe +define INSTANCE_NAME jane +backtick HOME { homeof ${RUN_USER} } +importas -n -u HOME HOME + +# redirect STDERR to STDIN so it can be caught by a logging service +fdmove -c 2 1 + +# switch to a different user for running this +s6-setuidgid ${RUN_USER} + +# handle SIGTERM +trap -x { + SIGTERM { + pipeline { echo "system_powerdown\n" } + s6-ipcclient ${HOME}/${INSTANCE_NAME}-monitor.socket + s6-ioconnect -67 + } +} + +# the command to start and supervise +imaginary_service -l 127.0.0.1 -p 31337 ${HOME}/run/listener_${INSTANCE_NAME}/${INSTANCE_NAME}.conf |