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.