diff --git a/startstop.build.sh b/startstop.build.sh index 52f8518..e747e95 100755 --- a/startstop.build.sh +++ b/startstop.build.sh @@ -284,11 +284,11 @@ if [[ \$(type -t srv_\${srv}_\${cmd}) = 'function' ]]; then flock 99 || exit 1 set -m - coproc { + { srv_\${srv}_\${cmd}; - } > ${LOGDIR}/srv-\${srv}.log 2>&1 - echo "\${COPROC_PID}" >> "\${PIDFILE}" - ps -o pgid= -p "\${COPROC_PID}" > "\${PGIDFILE}" + } > ${LOGDIR}/srv-\${srv}.log 2>&1 < /dev/null & + echo "\$!" >> "\${PIDFILE}" + ps -o pgid= -p "\$!" > "\${PGIDFILE}" exit ;; *)