From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.sysutils.supervision.general/2811 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Alex Suykov Newsgroups: gmane.comp.sysutils.supervision.general Subject: Re: The "Unix Philosophy 2020" document Date: Sat, 28 Dec 2019 15:37:35 +0200 Message-ID: <20191228133735.GA198054@cube> References: <20190901091157.bjtfhqq6d2rg75yo@caspervector> <20190927083816.tectynx7dzlfcvb7@caspervector> <20191012173743.drzlgnrw4hib6hh4@caspervector> <20191117062644.lt6wfmqwijqqhc5w@caspervector> <20191226175258.o2nsregew6tlqlbu@caspervector> <20191227112309.3fow6vynss2ifw4t@CasperVector> <20191228022440.GA194581@cube> <20191228014608.1dc7f43e@mydesk.domain.cxm> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="93022"; mail-complaints-to="usenet@blaine.gmane.org" To: supervision@list.skarnet.org Original-X-From: supervision-return-2400-gcsg-supervision=m.gmane.org@list.skarnet.org Sat Dec 28 14:39:11 2019 Return-path: Envelope-to: gcsg-supervision@m.gmane.org Original-Received: from alyss.skarnet.org ([95.142.172.232]) by blaine.gmane.org with smtp (Exim 4.89) (envelope-from ) id 1ilCJB-000O5B-U4 for gcsg-supervision@m.gmane.org; Sat, 28 Dec 2019 14:39:10 +0100 Original-Received: (qmail 24793 invoked by uid 89); 28 Dec 2019 13:39:34 -0000 Mailing-List: contact supervision-help@list.skarnet.org; run by ezmlm Original-Sender: Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Original-Received: (qmail 24786 invoked from network); 28 Dec 2019 13:39:34 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=CHSimEl6gKaIJt3h4wZjqSJ3tRBnWGbTDm94A+B3Dq4=; b=rcnqJl1qTIaHPq8iQG4Vvz1/I2/+EKF6n1BjgRSjeIF8JZ/MbOmDW0Y4zLhXXkKNkb p8ycyol10GcVwpujJvqR1lNLdVhKhQQk7vBjMuzalYoEgIqz7M+KgVy0hkqrHMwTRdla fcli0ZfISPSq7ulWkWkMPQSVzDfiitaUrVhJcHGhzFho1R2QHrPuAyoeth8htB2lWW6Z WvXusTb3paYkAs0YgDEf+ce01q4T7xgFClZ7obQSULMVUe8PteOvvmEK2GbO+5HLILiI 4BHpYJfZEEDVHR3Ptf5uARYitAQ6DQVgIlZmV5NB6RtcwrsBTlXdPEi1ivPLlTcCnjf4 5s2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=CHSimEl6gKaIJt3h4wZjqSJ3tRBnWGbTDm94A+B3Dq4=; b=X7cajsYojnpa1agXVcf44CF2H0qlGjkUa5815IOctFbAr8TraoGj0LiRQC6EzjPs+/ LLXjMzzWV6t/uCQxvMQ3RTvfsk8bqlYN88l4G1viJHdzKw8CwdNZwfwCFvvZ0/8i586i xeIhplzH6eU5bZlenjHZenIZk0fKDQOLSrHQFOrqnYFnzWxifm0xSuYcyTa7YMeiio+w MX3/zkAzP9wW2qjntD130EfG2dvXN07UZs1AM4NXn3mVctAvFfDb1J86BkfQ4k6yv5xa 2vSyx8pXQTn7BOu/m+3S+edq/Ron3dhSpX4pczA+I08M1ygWbEVKdDRGt9p6dZ50Q3Nz EZEQ== X-Gm-Message-State: APjAAAUqVOzocUfA2P4SfGi0YoR1EO6Va93OSQo8rCZwiwSUkEoPTZW9 +/QWspHJO7uTIWuAU6IKytfvgUQX X-Google-Smtp-Source: APXvYqx9JfSczx9EnTLfAw6HB1PUB0lp7Q3ePqpiBUtb1jAg6FJyMIIf6iT7AfsCgH6YyyZq7VUtoQ== X-Received: by 2002:a2e:8745:: with SMTP id q5mr31810936ljj.208.1577540346652; Sat, 28 Dec 2019 05:39:06 -0800 (PST) Content-Disposition: inline In-Reply-To: <20191228014608.1dc7f43e@mydesk.domain.cxm> Xref: news.gmane.org gmane.comp.sysutils.supervision.general:2811 Archived-At: Sat, Dec 28, 2019 at 01:46:08AM -0500, Steve Litt wrote: > * No if any code within the s6 stack must be changed. So much good > software has gone bad trying to incorporate features for only the > purpose of getting new users. It does not require any changes to s6. That's a major point I'd like to demonstrate with this tool. A 200 C LOC external tool is enough to let any process supervisor become a cgroup supervisor, on case-by-case basis, just by chain-execing the tool with the application being supervised. What the tool itself does is fork-spawning the chained application and then waiting until cgroup is empty. While also proxying signals. For the supervisor, it looks and behaves like a regular long-running process. The supervisor does not need to know anything about cgroups. The reason I think it's mostly useless is because the only use case for cgroup supervision is supervising double-forking daemons, which is not a very smart thing to do. A much better approach is to get rid of double-forking and then just directly supervise the resulting long running process. I can't think of any other cases where it would be useful.