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:
		| @@ -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 | ||||||
|   | |||||||
| @@ -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" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Rafał Miłecki
					Rafał Miłecki