Service --status-all --> what does the column with [ ? ],[ + ], and [ - ] mean?

Well those are just exit codes. After something has done running, it can return an 8-bit integer (0-255) to indicate how it exited.

  • Zero (which is implied if nothing is returned) means the application got to the end of what it was supposed to do and exited naturally.
  • Non-zero codes (1-255) can mean whatever the application wants. The man page (man <command>) will usually show you what these codes mean.

In terms of the question, don't overthink it:

  • + means it's running,
  • - means it isn't (it might have crashed - it might never have started), and
  • ? means the services doesn't have a status command, so there's no way the service command can work out what's what.