When a process exits without error (exitStatus=0), it could well be the
app exited cleanly, and there's no need to display an error message.
For example starting kate from a widget on the panel/desktop, where it
shows the session chooser dialog before ever entering the main app event
loop, then quitting/closing the dialog without starting kate. In a case
like that matchesPendingRequest() will always return false as the service
name hasn't (and won't) been changed from the unique :x.xxx to org.kde.kate.