( persicsb | 2024. 04. 16., k – 12:23 )

Nem, nem jól érted. A 0-s exit code mindig sikeres kilépést jelent, de nem minden sikeres kilépés jelent 0-s exit code-ot - a sikerességnek többféle lehetséges esete lehet. Amikor persze kitalálták azt, hogy 0 = siker, nemnulla = hiba, akkor még nem gondoltak a fejlesztők sok lehetséges esetre.

Például a SIGTERM-re történő sikeres leállás egy daemon jellegű szoftvernél teljesen valid (külső kérésre leállt, nem valamilyen belső logika miatt fejezte be a futást) - és a signal n-re a 128+n-es exit status-t azt a bash például használja, ezért is implementálták is az appservereket.
A SIGHUP-ra történő leállás is jelenthet sikert egy interaktív terminálos alkalmazás esetén - a program leáll, mert a felhasználó terminálja bontotta a kapcsolatot (és nem azért, mert a felhasználó lépett kil, vagy a program a logikája szerint végzett).