summaryrefslogtreecommitdiff
blob: f9b829488c79f8e4f55670542af675efcdd45095 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/sbin/openrc-run
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

depend() {
	need net
}

start() {
	ebegin "Starting ${SVCNAME}"
	start-stop-daemon --start --exec /usr/bin/diamond --pidfile /run/${SVCNAME}.pid -- -c /etc/diamond/${SVCNAME}.conf ${DIAMOND_OPTS}
	eend $?
}

stop() {
	ebegin "Stopping ${SVCNAME}"
	#start-stop-daemon --stop -R 80 --pidfile /run/${SVCNAME}.pid
	# diamond doesn't kill its children, so work around that for now
	pid=$(< /run/${SVCNAME}.pid)
	if [ -n ${pid} ] && [ ${pid} -gt 1 ] ; then
		pstree -Tp ${pid} | grep -o '([0-9]\+)' | tr '()' ' ' | xargs kill
	fi
	eend $?
}