код выхода 208 после явного выхода 22224 - PullRequest
0 голосов
/ 19 мая 2019

Я просто копался в скрипте bash, и у меня было:

exit 22224;

но фактический код выхода был 208 ... Я полагаю, это потому, что 208 означает "неправильный код выхода" или что-то в этом роде? Трудно найти информацию об этом

1 Ответ

1 голос
/ 19 мая 2019

Код выхода UNIX хранится в одном байте, то есть между 0 и 255, поэтому все остальное усекается до этого одного байта. На странице руководства _exit(2) даже сказано, как:

Значение status & 0377 возвращается родительскому процессу в качестве состояния выхода процесса и может быть получено с помощью одного из вызовов семейства wait (2).

Обратите внимание, что "0377" является просто восьмеричным для 255. Побитовое значение с этим просто означает, что берут последний байт. И действительно,

$ python -c 'print (22224 & 255)'

208

...