Received: from magnesium.8pit.net (magnesium.8pit.net [45.76.88.171]) by nld3-dev1.alpinelinux.org (Postfix) with ESMTPS id 38956781A49 for <~alpine/devel@lists.alpinelinux.org>; Thu, 20 Aug 2020 17:04:52 +0000 (UTC) Received: from magnesium.8pit.net (localhost [127.0.0.1]) by magnesium.8pit.net (OpenSMTPD) with ESMTP id 2e1f7e98 for <~alpine/devel@lists.alpinelinux.org>; Thu, 20 Aug 2020 19:04:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=soeren-tempel.net; h=date :to:subject:from:message-id:mime-version:content-type :content-transfer-encoding; s=opensmtpd; bh=T9GuzH8DKyGeICCh4mjm 08rGQh0=; b=k6sZVAjy62Ag7oyPFRBagXpMFWz65zTDApxeE95ZIzEpdGWjAt8p EpcOAWTuVLXSgoWyxOXNR3zD4cKlpZXcoO7MvLOy4UvH6lOIdW3UbH0R9aqQOHTw 77Z3KSsrzfgTEY08tj/+WsL8ctKT1hzGqsUTI9/yxNv39CRwFNHiHiw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=soeren-tempel.net; h=date:to :subject:from:message-id:mime-version:content-type :content-transfer-encoding; q=dns; s=opensmtpd; b=XWVv7ohvIYXM5H 675yaPxNcElr3p6lm1bFBZf+8KlnGOwsSDBHpKnvr6M/zs+IL+u/Rsmp6roGuEwh IFhqHGITVBnNDFrgzRJS1zlBoZo5j31dBz+7oy3tfjltdtHU7huSnV4mgD8MWS8i PnQEaNVH9ZigvchG3+nifxH23ICYQ= Received: from localhost (ip4d17229f.dynamic.kabel-deutschland.de [77.23.34.159]) by magnesium.8pit.net (OpenSMTPD) with ESMTPSA id 730dea7f (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:YES) for <~alpine/devel@lists.alpinelinux.org>; Thu, 20 Aug 2020 19:04:48 +0200 (CEST) Date: Thu, 20 Aug 2020 19:04:45 +0200 To: ~alpine/devel@lists.alpinelinux.org Subject: Use of supervise-daemon in Alpine From: =?UTF-8?Q?S=C3=B6ren?= Tempel Message-Id: <3LLUI2KOULSYM.359WA6HATX45B@8pit.net> User-Agent: meillo's mail handler (mmh) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello, OpenRC ships a program called supervise-daemon(8) which is capable of starting daemons and restarting them if they crash. Contrary to start-stop-daemon, it does not rely on PID files instead the started daemon is a child process of supervise-daemon. Some Alpine OpenRC services already use supervise-daemon(8) (e.g. unbound, xdm, wpa_supplicant, =E2=80=A6). I was recently wondering if we wa= nt to migrate busybox-initscripts to using supervise-daemon too and was pointed to some comments in the GitLab issue tracker which critique use of supervise-daemon for busybox-initscripts because of concern over memory usage [0]. Upon further discussion in the IRC some people also expressed discomfort in regards to the automatic restarting of crashed services (=E2=80=9Cyou don't want to mask crashes=E2=80=9D). However, the primary benefit I personally see with widespread use of supervise-daemon is that it would allow us to get rid of racy PID files. I would therefore propose that we enable supervise-daemon whenever possible in existing OpenRC services (including busybox-initscripts). In any case it would be nice to clarify when using supervisor-daemon is encouraged (see existing examples above) and when it isn't. Thoughts? Greetings, S=C3=B6ren [0]: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/1363#not= e_56289