procd: improve status reporting for partially running services
authorJo-Philipp Wich <jo@mein.io>
Thu, 27 Jul 2023 11:31:18 +0000 (13:31 +0200)
committerJo-Philipp Wich <jo@mein.io>
Thu, 27 Jul 2023 11:31:18 +0000 (13:31 +0200)
commit4987a409a7486ee5c6b9ef93f6783b1e4f29dea2
treec8ea3849f802df725c85cc2b48c1caf675b8c254
parent4af0a72a65d7c92ed4e7c2455090f695f424903d
procd: improve status reporting for partially running services

The existing implementation incorrectly reported `running` for services
without any instances or with all instances stopped/terminated.

Improve the default implementation of `/etc/init.d/* status` to properly
report services with not running instances. In case a service exists,
but without running instance, the status call will now report
"not running" with exit code 5. In case some instances are running and
some are stopped/terminated, the call will report "running (X/Y)" where
`X` denoted the amount of running instances and `Y` the amount of total
registered ones.

Ref: https://forum.openwrt.org/t/x/159443
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
package/system/procd/Makefile
package/system/procd/files/procd.sh