Поскольку в UNIX/POSIX, код выхода программы определяется, чтобы быть неподписанным 8-разрядным значением. Преобразование-1 к 8-разрядному неподписанному дает 255.
Редактирование для добавления:
Предоставлять больше подробную информацию: ожидание* () семейство системных вызовов в UNIX кодирует результат процесса в единственное целое число на 32 бита. 32 бита того результата далее разбиты для предоставления информации такой как ли процесс выведенное ядро, из которого выходят из-за сигнала (и который), и т.д. Из этого 32 бита только 8 резервируются для кода выхода процесса, и они интерпретируются как неподписанное значение.
Модель ветвления/должностного лица/ожидания UNIX/POSIX является одной из своих очень самых старых и наиболее очень встроенных функций; при разработке новой операционной системы сегодня, Вы могли бы сделать что-то другое (по крайней мере, используют 64 бита :-)).
С другой стороны, практически говорящий действительно полезно иметь> 255 кодов выхода?Вряд ли. Если бы Вы действительно хотели что-то более мощное, то я предположил бы, что Вы переключились бы на "строку выхода" вместо числового кода выхода с более широким диапазоном.
Вы рассмотрели использование "maildir готового" сервера IMAP?
Это позволит Вам получать доступ к своему maildir многие/больше всего почтовыми клиентами.
Можно считать "maildir готовую" Голубятню сервером IMAP как "нуль опции".
AFAIK два почтовых клиента (Эволюция и Emacs/Gnus) может использовать Голубятню в режиме сервера меньше для доступа к персональному maildir.