Skip to content
  • Lennart Poettering's avatar
    service: place control command in subcgroup control/ · ecedd90f
    Lennart Poettering authored
    Previously, we were brutally and onconditionally killing all processes
    in a service's cgroup before starting the service anew, in order to
    ensure that StartPre lines cannot be misused to spawn long-running
    processes.
    
    On logind-less systems this has the effect that restarting sshd
    necessarily calls all active ssh sessions, which is usually not
    desirable.
    
    With this patch control processes for a service are placed in a
    sub-cgroup called "control/". When starting a service anew we simply
    kill this cgroup, but not the main cgroup, in order to avoid killing any
    long-running non-control processes from previous runs.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=805942
    ecedd90f