чување 4f0439614b0e44b16dac026c9e7fb70e025fc307 родитељ 215c8557032c493b27a27ee1dd3ea9763f2558bf Аутор: Страхиња Радић <contact@strahinja.org> Датум: Mon, 18 Jul 2022 17:33:09 +0200 More sophisticated wait Signed-off-by: Страхиња Радић <contact@strahinja.org> Diffstat:
| M | svc.d/bare.sh | | | 27 | ++++++++++++++++++--------- |
измењених датотека: 1, додавања: 18(+), брисања: 9(-)
diff --git a/svc.d/bare.sh b/svc.d/bare.sh @@ -33,11 +33,15 @@ case $1 in exit 0;; -s) if [ -z "${PID}" ]; then ${BIN} ${PARAMS} & - /bin/usleep 500000 - if [ -z "$(pidof -o %PPID "${BIN}" 2>/dev/null)" ] - then - exit 2 - fi + tries=4 + while [ -z "$(pidof -o %PPID "${BIN}" 2>/dev/null)" ] + do + /bin/usleep 100000 + tries=$((tries-1)) + if [ "${tries}" -eq 0 ]; then + exit 2 + fi + done exit 0 else exit 1 @@ -60,9 +64,14 @@ case $1 in fi ${BIN} ${PARAMS} & /bin/usleep 500000 - if [ -z "$(pidof -o %PPID "${BIN}" 2>/dev/null)" ] - then - exit 2 - fi;; + tries=4 + while [ -z "$(pidof -o %PPID "${BIN}" 2>/dev/null)" ] + do + /bin/usleep 100000 + tries=$((tries-1)) + if [ "${tries}" -eq 0 ]; then + exit 2 + fi + done;; *) exit 2;; esac