aboutsummaryrefslogtreecommitdiff
path: root/init.d/s6-svscan.in
blob: bd7eee6c772dd7f24d964b84112a93cd1f1745e5 (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!@SBINDIR@/openrc-run
# Copyright (c) 2015 The OpenRC Authors.
# See the Authors file at the top-level directory of this distribution and
# https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.

command=/bin/s6-svscan
command_args="${RC_SVCDIR}"/s6-scan
command_background=yes
pidfile=/var/run/s6-svscan.pid

depend()
{
	need localmount
}

start_pre()
{
	if [ ! -e "$command" ]; then
		eerror "$command is missing (please install s6)"
	else
		einfo "Creating s6 scan directory"
		checkpath -d -m 0755 "$RC_SVCDIR"/s6-scan
	fi
	return
}

stop_post()
{
	ebegin "Stopping any remaining s6 services"
	s6-svc -dx "${RC_SVCDIR}"/s6-scan/* 2>/dev/null || true
	eend $?

	ebegin "Stopping any remaining s6 service loggers"
	s6-svc -dx "${RC_SVCDIR}"/s6-scan/*/log 2>/dev/null || true
	eend $?
}