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 <rafal@milecki.pl>
Acked-by: John Crispin <john@phrozen.org>
This commit is contained in:
Rafał Miłecki 2019-05-01 07:23:21 +02:00
parent 8696f0c3e3
commit 2c3dd70741
2 changed files with 16 additions and 1 deletions

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=procd PKG_NAME:=procd
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git

View File

@ -30,6 +30,9 @@
# procd_close_instance(): # procd_close_instance():
# Complete the instance being prepared # Complete the instance being prepared
# #
# procd_running(service, [instance]):
# Checks if service/instance is currently running
#
# procd_kill(service, [instance]): # procd_kill(service, [instance]):
# Kill a service instance (or all instances) # Kill a service instance (or all instances)
# #
@ -402,6 +405,18 @@ _procd_add_instance() {
_procd_close_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() { _procd_kill() {
local service="$1" local service="$1"
local instance="$2" local instance="$2"