From: Rafał Miłecki Date: Wed, 1 May 2019 05:23:21 +0000 (+0200) Subject: procd: add procd_running() helper for checking running state X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=2c3dd70741d299a236aa18acf18ac27362718abc;p=openwrt%2Fstaging%2Fyousong.git procd: add procd_running() helper for checking running state This should be helpful for implementing service_running() in procd init scripts. Signed-off-by: Rafał Miłecki Acked-by: John Crispin --- diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile index 2555105f13..03603738cd 100644 --- a/package/system/procd/Makefile +++ b/package/system/procd/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=procd -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git diff --git a/package/system/procd/files/procd.sh b/package/system/procd/files/procd.sh index b49b2b9d01..8d6d406012 100644 --- a/package/system/procd/files/procd.sh +++ b/package/system/procd/files/procd.sh @@ -30,6 +30,9 @@ # procd_close_instance(): # Complete the instance being prepared # +# procd_running(service, [instance]): +# Checks if service/instance is currently running +# # procd_kill(service, [instance]): # Kill a service instance (or all instances) # @@ -402,6 +405,18 @@ _procd_add_instance() { _procd_close_instance } +procd_running() { + local service="$1" + local instance="${2:-instance1}" + local running + + json_init + json_add_string name "$service" + running=$(_procd_ubus_call list | jsonfilter -e "@.$service.instances.${instance}.running") + + [ "$running" = "true" ] +} + _procd_kill() { local service="$1" local instance="$2"