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:
		
				
					committed by
					
						
						John Crispin
					
				
			
			
				
	
			
			
			
						parent
						
							d700c120bf
						
					
				
				
					commit
					bbe825c74d
				
			@@ -29,6 +29,9 @@
 | 
				
			|||||||
# procd_kill(service, [instance]):
 | 
					# procd_kill(service, [instance]):
 | 
				
			||||||
#   Kill a service instance (or all instances)
 | 
					#   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
 | 
					. $IPKG_INSTROOT/usr/share/libubox/jshn.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -373,6 +376,18 @@ _procd_kill() {
 | 
				
			|||||||
	_procd_ubus_call delete
 | 
						_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() {
 | 
					procd_open_data() {
 | 
				
			||||||
	local name="$1"
 | 
						local name="$1"
 | 
				
			||||||
	json_set_namespace procd __procd_old_cb
 | 
						json_set_namespace procd __procd_old_cb
 | 
				
			||||||
@@ -457,4 +472,5 @@ _procd_wrapper \
 | 
				
			|||||||
	procd_append_param \
 | 
						procd_append_param \
 | 
				
			||||||
	procd_add_validation \
 | 
						procd_add_validation \
 | 
				
			||||||
	procd_set_config_changed \
 | 
						procd_set_config_changed \
 | 
				
			||||||
	procd_kill
 | 
						procd_kill \
 | 
				
			||||||
 | 
						procd_send_signal
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user