On Wed, 1 May 2019 at 19:09, Jo-Philipp Wich <[email protected]> wrote:
> > From: Rafał Miłecki <[email protected]>
> >
> > This should be helpful for implementing service_running() in procd init
> > scripts.
> >
> > Signed-off-by: Rafał Miłecki <[email protected]>
> > ---
> >  package/system/procd/files/procd.sh | 15 +++++++++++++++
> >  1 file changed, 15 insertions(+)
> >
> > diff --git a/package/system/procd/files/procd.sh 
> > b/package/system/procd/files/procd.sh
> > index 72f25fe0c0..ade55a344f 100644
> > --- a/package/system/procd/files/procd.sh
> > +++ b/package/system/procd/files/procd.sh
> > @@ -26,6 +26,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)
> >  #
> > @@ -398,6 +401,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")
>
> Pass '{ "name": "'"$service"'" }' as argument to the list call to reduce the 
> amount of output you
> need to filter.

It's handed by:
json_add_string name "$service"

and then _procd_ubus_call using that JSON that was built before calling it.

_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to