diff options
| author | Robert Günzler <r@gnzler.io> | 2021-02-22 14:09:47 +0100 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2021-04-26 02:09:44 +0200 |
| commit | 00adb97bd818f204c076a63ed9ac4592b080d662 (patch) | |
| tree | d3d424d9c1507322a58224eac0ad24c2bf23297d /bin/once | |
| parent | 3719d8bd4db5eb823455c44deef84ca52dd486cb (diff) | |
add bin/once
Diffstat (limited to 'bin/once')
| -rwxr-xr-x | bin/once | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/bin/once b/bin/once new file mode 100755 index 0000000..f13aecc --- /dev/null +++ b/bin/once @@ -0,0 +1,30 @@ +#!/bin/sh + +set -e +[ -n "$DEBUG" ] && set -x + +ssd_args="--background --make-pidfile --start" +while getopts Kkl:h opt; do + case "$opt" in + K|k) ssd_args='--stop';; + l) ssd_args="${ssd_args} --stdout ${OPTARG} --stderr ${OPTARG}";; + + h) + printf "usage: %s [-h]\n" "$(basename "$0")" + printf "\n" + printf " -K -k kill the service\n" + printf " -l LOGFILE log to a file\n" + printf "\n" + exit 2 ;; + esac +done +shift $((OPTIND - 1)) + +exec="${1:-}" +[ -z "${exec}" ] && exit 1 +shift + +start-stop-daemon \ + --pidfile "${XDG_RUNTIME_DIR:-/tmp}/${exec}.pid" \ + $ssd_args \ + "${exec}" -- "${@}" |