Es scheint, dass viele init.d
Skripte bei einem Fehler 0 zurückgeben, trotzdiese Empfehlungen. Beispielsweise kann in nginx
, wenn man direkt Folgendes ausführt:
/usr/sbin/nginx -t # returns 1 (with a bad config)
und läuft über init.d
:
service nginx configtest # returns 0 (with a bad config)
Wie kann ich den fehlenden Statuscode am besten verwalten? Es scheint, als gäbe es einige Optionen:
- Analysieren Sie die Ausgabe und suchen Sie nach „fail“, wenn Sie den Befehl aufrufen.
- Aktualisieren Sie die
init.d
Skripte, um dieerwartete Codes hier beschrieben. - Aktualisieren Sie
log_end_msg
es/lib/lsb/init-functions
, sodass die übliche Protokollierung durchgeführt wird und dannexit
der Exit-Code ausgegeben wird, der anfangs angegeben wurde.