Bug 88986

Summary: standalone version of systemd to act as a process control system
Product: systemd Reporter: Sandeep Srinivasa <sss>
Component: generalAssignee: systemd-bugs
Status: RESOLVED WONTFIX QA Contact: systemd-bugs
Severity: enhancement    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Sandeep Srinivasa 2015-02-05 07:46:00 UTC
It would be great to have a feature of systemd that acts as a process control system - similar to something like supervisord (http://supervisord.org/) or runit (http://smarden.org/runit/)

The problem is that the number of process supervisors to be used has increased:
1.  upstart for older deb systems
2. supervisord/runit for running applications (Ruby on Rails, Python, Go, etc.) 3. supervisord/runit to run  Docker containers  (http://blog.phusion.nl/2015/01/20/baseimage-docker-fat-containers-treating-containers-vms/)
4. systemd in newer linux versions.

I do not believe we will upgrade older computers to newer OS running systemd anytime soon, but it would be great if there was a way we could use systemd+journald in older OS to run applications. This would atleast eliminate the need to use supervisord/runit and give us a path to migrate to systemd. Otherwise, I suspect that people will use supervisord/runit far more in production (+docker) than systemd ..... and will continue to use it even on newer systems, simply because of inertia.

I do understand that systemd needs to be pid 1, but I wonder if a subset of functionality can still be exposed when it is not running as pid 1.... atleast as good as supervisord.
Comment 1 Lennart Poettering 2015-02-10 09:34:00 UTC
We had support for this in systemd in the initial versions, but since nobody was using and testing this, and the semantics were different from the system version in subtle ways we removed support for it.

Also note that systemd requires kernel 3.7 as minimal version right now. You cannot run it on older kernels, and hence really old operating systems anyway.

Sorry, but this is nothing we want or can support!
Comment 2 Sandeep Srinivasa 2015-02-10 09:42:14 UTC
@lennart - really appreciate the comment. I do understand that you might not do it - but please allow me to explain why it would be a great idea.

There is only a single reason - we are already using way too many process control managers. There are hundreds of millions of servers worldwide that will not be upgraded any time soon (years atleast) and that means a long time before anyone will be able to touch systemd professionally.

Docker is only making things even worse - the recommended way of using Docker is shifting gradually to be using poorly-suited PID 1 processes like supervisord. 

I'm not sure how difficult it is technically, but I urge you to reconsider atleast the possibility - even if you can make something on par with supervisord and has none of the advanced resource management features that systemd has.

P.S. Already, a lot of us work with upgraded kernels because of Docker and this is already acceptable.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.