mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 13:48:06 +00:00
procd: update procd.sh to support sending kill signal to a service
Add procd_send_signal which allows to send an optional specified kill signal to one specified or all instances of a given service. By default SIGHUP is sent if no signal is specified Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
This commit is contained in:
parent
d700c120bf
commit
bbe825c74d
@ -29,6 +29,9 @@
|
||||
# procd_kill(service, [instance]):
|
||||
# Kill a service instance (or all instances)
|
||||
#
|
||||
# procd_send_signal(service, [instance], [signal])
|
||||
# Send a signal to a service instance (or all instances)
|
||||
#
|
||||
|
||||
. $IPKG_INSTROOT/usr/share/libubox/jshn.sh
|
||||
|
||||
@ -373,6 +376,18 @@ _procd_kill() {
|
||||
_procd_ubus_call delete
|
||||
}
|
||||
|
||||
_procd_send_signal() {
|
||||
local service="$1"
|
||||
local instance="$2"
|
||||
local signal="$3"
|
||||
|
||||
json_init
|
||||
json_add_string name "$service"
|
||||
[ -n "$instance" -a "$instance" != "*" ] && json_add_string instance "$instance"
|
||||
[ -n "$signal" ] && json_add_int signal "$signal"
|
||||
_procd_ubus_call signal
|
||||
}
|
||||
|
||||
procd_open_data() {
|
||||
local name="$1"
|
||||
json_set_namespace procd __procd_old_cb
|
||||
@ -457,4 +472,5 @@ _procd_wrapper \
|
||||
procd_append_param \
|
||||
procd_add_validation \
|
||||
procd_set_config_changed \
|
||||
procd_kill
|
||||
procd_kill \
|
||||
procd_send_signal
|
||||
|
Loading…
Reference in New Issue
Block a user