systemd가 일부 Type=simple 서비스에 대해 작업 실패를 보고하는 이유는 무엇입니까?

systemd가 일부 Type=simple 서비스에 대해 작업 실패를 보고하는 이유는 무엇입니까?

~에 따르면시스템 문서, systemd는 하위 프로세스가 분기된 후 즉시 성공을 보고합니다. 이는 내 빠른 테스트 결과와 일치합니다.

$ cat /etc/systemd/system/test.service
[Service]
Type=simple
ExecStart=/bin/asdfg
$ systemctl daemon-reload
$ systemctl start test  # Exits immediately
$ echo $?
0
$ systemctl status test
● test.service
   Loaded: loaded (/etc/systemd/system/test.service; static; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2019-12-15 01:56:52 CST; 2s ago
  Process: 24483 ExecStart=/bin/asdfg (code=exited, status=203/EXEC)
 Main PID: 24483 (code=exited, status=203/EXEC)

Dec 15 01:56:52 iBug-Server systemd[1]: Started test.service.
Dec 15 01:56:52 iBug-Server systemd[24483]: test.service: Failed to execute command: No such file or directory
Dec 15 01:56:52 iBug-Server systemd[24483]: test.service: Failed at step EXEC spawning /bin/asdfg: No such file or directory
Dec 15 01:56:52 iBug-Server systemd[1]: test.service: Main process exited, code=exited, status=203/EXEC
Dec 15 01:56:52 iBug-Server systemd[1]: test.service: Failed with result 'exit-code'.
$

그러나 과거 경험에 따르면 일부 서비스가 시작되거나 다시 시작되지 않으면 systemd는 다음과 같은 오류를 보고 nginx합니다 ssh.

Job for test.service failed because the control process exited with error code.
See "systemctl status test.service" and "journalctl -xe" for details.

systemd가 내 테스트 서비스(Freedesktop.org의 매뉴얼 페이지와 일치)에 대한 실패를 보고하지 않고 대신 다른 서비스에 대한 실패를 보고하는 이유는 무엇입니까?

설명: 구체적으로 'commands'를 언급하고 있습니다 systemctl start/restart. "report failure"로 인해 메시지가 인쇄되고 0이 아닌 상태로 종료됩니다. 출력은 systemctl status관련이 없습니다.

관련 정보