1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/bin/sh --
- set -ue
- usage() {
- printf '%s\n' \
- "Usage: ${0##*/} [options] services..." \
- ' -u use user database' \
- ' -x use user X11 database' \
- ' -h show this help message'
- exit "${1:-0}"
- }
- USERDB=0
- X=0
- while getopts uxh arg; do
- case "${arg}" in
- u) USERDB=1 ;;
- x)
- USERDB=1
- X=1
- ;;
- h) usage 0 ;;
- ?) usage 1 ;;
- esac
- done
- shift $(( OPTIND - 1 ))
- if [ "${USERDB}" -eq 0 ]; then
- [ "$(id -u)" -eq 0 ] || {
- if command -v doas >/dev/null; then
- exec doas -- "${0}" "${@}"
- elif comman -v sudo >/dev/null; then
- exec sudo -- "${0}" "${@}"
- else
- echo "please run as root" 1>&2
- exit 1
- fi
- }
- LIVE='/run/s6-rc'
- else
- RUNPATH="${XDG_RUNTIME_DIR:-${TMPDIR:-/tmp}/runtime-${USER:-$(id -un)}}/s6"
- if [ "${X}" -eq 1 ]; then
- LIVE="${RUNPATH}/x11/s6-rc"
- else
- LIVE="${RUNPATH}/user/s6-rc"
- fi
- fi
- if [ "${#}" -lt 1 ]; then
- echo "provede service names to restart" 1>&2
- exit 1
- fi
- set -x
- for sv; do
- s6-rc -l "${LIVE}" stop "${sv}"
- s6-rc -l "${LIVE}" start "${sv}"
- done
|