Create working restart + drkonqi
Open, Needs TriagePublic

Description

Goals

I want systemd to know if a service is up when it's up
I want systemd to know if a service is down when it's down
If a service crashes I want drkonqi as before

We ideally want systemd handling the restarts as it's a lot smarter than our internal in-app method

The cause of the bug right now

We use the DBus name to know when a service is up. We definitely want this.
However, implicitly that also determines when a process is stopped. As plasmashell (for example) crashes the bus name is lost. Then the entire cgroup is killed in order to restart, which would include any drkonqi

Related Objects

davidedmundson updated the task description. (Show Details)

Also, on some quick testing

KillMode=none
Restart=always

seems to work

Combined with
ExecStop=kquitapp5 plasmashell

would be a solution even if not the most super ideal

The other idea to try is in the event of a crash we move ourselves and drkonqi to a new scope. Then systemd can clean up the cgroup but we still have our handler.

I tried this..I feel it should work, but somehow our crashed application gets killed anyway.

Final possible option is we just make a KDE wrapper round coredumps. See https://invent.kde.org/sitter/kde-coredump

Will be the cleanest long term probably.