чување 84396b59d8824df4314ad01acca6bb189d63c597
родитељ fbeb0ee6078a832f34e7dba737661aec6af46b37
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Mon, 18 Jul 2022 14:03:49 +0200
Tweaks; relegate -r to bare.sh and avail scripts
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
измењених датотека: 2, додавања: 18(+), брисања: 18(-)
diff --git a/bin/svc b/bin/svc
@@ -29,7 +29,7 @@ runservice() {
dir="$2"
cmd="$3"
- if [ $(stat -t "${dir}/${service}" | cut -d' ' -f 2) -eq 0 ];
+ if [ $(stat -L -t "${dir}/${service}" | cut -d' ' -f 2) -eq 0 ];
then
"./bare.sh" "${service}" "${cmd}" >/dev/null 2>&1
exit $?
@@ -47,15 +47,15 @@ doservice() {
then
for s in $(find run -type l);
do
- runservice "${s##*/}" run "$cmd"
+ runservice "${s##*/}" run "${cmd}"
done
else
- if [ -x "avail/$service" ];
+ if [ -x "avail/${service}" ];
then
- runservice "$service" avail "$cmd"
+ runservice "${service}" avail "${cmd}"
else
printf "%s: '%s' is not available or executable.\n" \
- "$BASENAME" "$service" >&2
+ "${BASENAME}" "${service}" >&2
exit 2
fi
fi
@@ -66,7 +66,7 @@ case "$1" in
then
ln -sf "../avail/$2" "run/$2"
printf "%s: '%s' activated.\n" \
- "$BASENAME" "$2"
+ "${BASENAME}" "$2"
else
cd run
ls .
@@ -85,21 +85,10 @@ case "$1" in
"$BASENAME" >&2
exit 2
fi;;
- -e|-k|-s)
+ -e|-k|-s|-r)
doservice "$1" "$2";;
-l) cd avail
ls .;;
- -r) if [ $# -gt 1 ];
- then
- #set -x
- svc -k "$2" || exit $?
- svc -s "$2"
- exit $?
- else
- printf "%s: please give a service name.\n" \
- "$BASENAME" >&2
- exit 2
- fi;;
*) usage
exit 2;;
esac
diff --git a/svc.d/bare.sh b/svc.d/bare.sh
@@ -51,5 +51,16 @@ case $1 in
fi
exit 0
fi;;
+ -r) if [ -n "${PID}" ]; then
+ kill "${PID}" >/dev/null 2>&1
+ if ps -p "${PID}" >/dev/null 2>&1; then
+ kill -9 "${PID}" >/dev/null 2>&1 || exit 2
+ fi
+ fi
+ ${BIN} ${PARAMS} &
+ if ! ps -p $! >/dev/null 2>&1; then
+ exit 2
+ fi
+ exit 0;;
*) exit 2;;
esac