27

When checking a service status via systemctl

systemctl status docker

the output is something like

● docker.service - Docker Application Container Engine
  Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
  Active: inactive (dead) (Result: exit-code) since Mon 2018-03-19 13:52:21 CST; 4min 32s ago
  Docs: https://docs.docker.com
  Process: 6001 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=205/LIMITS)
  Main PID: 6001 (code=exited, status=205/LIMITS)

The question is about the part in bold: the main process exit code and status information.
Is there a list of all the codes and statuses along with their explanation ?


I know that most times it's self-explanatory (and I know the answer to the question here) but lately we get this question a lot at work (some people search via google but can't find it, other people open the systemd.service man page, search for e.g. code 203 and don't find it...) so I thought I might as well put it here so it's easier for people to find the answer via google.

don_crissti
  • 79,330
  • 30
  • 216
  • 245

2 Answers2

28

Yes, but only since 2017 when Jan Synacek finally documented them in the systemd manual. Your work colleagues are simply reading the wrong page of the manual. ☺

Further reading

Stuporman
  • 103
  • 3
JdeBP
  • 66,967
  • 12
  • 159
  • 343
  • 2
    This is helpful. I just like to add that `systemctl` is exiting with code `3` under certain conditions, even if the call was successful and there was no failure. See [Bug 77507](https://bugs.freedesktop.org/show_bug.cgi?id=77507) for more details. – U880D Aug 21 '18 at 06:09
1

Here is the list of status codes for systemctl

https://www.freedesktop.org/software/systemd/man/systemctl.html#Exit%20status

A.A
  • 21
  • 1