🌐 pstree -h

        │              └─{gmain}
        │                ├─dnsmasq
        │                ├─{gdbus}
        │                └─{gmain}
        │                 └─{gmain}
        │              └─{gmain}
        │                 ├─{gmain}
        │                 └─{timer}
        │         ├─lightdm─┬─upstart─┬─Thunar─┬─chrome─┬─2*[cat]
        │         │         │         │        │        ├─chrome─┬─chrome─┬─chr+
        │         │         │         │        │        │        │        ├─chr+
        │         │         │         │  

I read, that there are several process management systems

  • systemVinit, the traditional UNIX one
  • upstart, the one, which came with Ubuntu
  • systemd, another new one, which is controversial for its complexity

On PCs using systemVinit the process of all process, the very first one at the top is called init, on PCs using systemd the first one is called systemd

Now, when I run


I noticed that systemd, as expected for a systemd process management system, is the first process, but what made me confused is, that upstart is a childprocess of systemd (systemd-->lightdm-->lightdm-->upstart).

Why is it so, why is a a process management system a childprocess of another process management system? (at least this is what I think it is)

  • 1
    Do you really have an emoji as $PS1? :)
    – dr_
    May 31, 2017 at 12:23
  • 1
    yes, I am not a professional, no need to keep seriousity, in my BASH I can input unicode characters, when I hold ctrl+shift+u
    – sharkant
    May 31, 2017 at 12:29

2 Answers 2


This has to do with retrocompatibility and, with the scenario where migrating from upstart to systemd could impose a catastrophic failure at Ubuntu 15.04. Quoting the announcement of systemd comming to Ubuntu:

Contingency plan: If after some weeks we find that there are too many or too big regressions, we can revert to upstart by default with two simple uploads (ubuntu-standard and init).

The other detail here is that, Ubuntu did not "fully migrated" to systemd prior to 16.10, having the graphical login to still be managed by upstart not systemd(even with this, being the init manager of choice). Announcement here:

As discussed at UDS 1 we are moving away from using upstart to start graphical desktop sessions, towards systemd (and D-Bus activations in some cases where it's appropriate). Two weeks ago Sebastien Bacher, Iain Lane, Ted Gould, and me had three-day sprint where we converted most services of the Ubuntu session, and before/after I was working on the necessary infrastructure in systemd and upstart, and converted/checked most other flavors. This is now ready to land and get wider testing.

Ubuntu was/is migrating to systemd on a very safe way, first migrating ConsoleKit related stuff back in 2013 to systemd-logind, then migrating the init itself, and the remaining units, to avoid problems.

tl,dr: In your specific case, upstart could be still the one managing graphical login related stuff(lightdm)...


Just to keep retrocompatibility with upstart configuration files.
But it replaced upstart as init system on Ubuntu and many more.

  • 1
    No, that upstart is purely for user sessions. It does not provide any sort of backwards compatibility with system Upstart jobs in /etc/init
    – muru
    May 31, 2017 at 1:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .