From 2c3dd70741d299a236aa18acf18ac27362718abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Wed, 1 May 2019 07:23:21 +0200 Subject: [PATCH] procd: add procd_running() helper for checking running state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This should be helpful for implementing service_running() in procd init scripts. Signed-off-by: Rafał Miłecki Acked-by: John Crispin --- package/system/procd/Makefile | 2 +- package/system/procd/files/procd.sh | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile index 2555105f137..03603738cd6 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 b49b2b9d019..8d6d4060125 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"