Если да, на какой операционной системе, оболочке или что-то еще?
Рассмотрим следующую java-программу (я использую java только как пример, любой язык был бы хорош для этого вопроса, что больше касается операционных систем):
public class ExitCode {
public static void main(String args[]) {
System.exit(Integer.parseInt(args[0]));
}
}
Запустив его в Linux и bash, он всегда возвращает значения, равные 255, например. (echo $?
выводит код выхода предыдущей выполненной команды)
> java ExitCode 2; echo $?
2
> java ExitCode 128; echo $?
128
> java ExitCode 255; echo $?
255
> java ExitCode 256; echo $?
0
> java ExitCode 65536; echo $?
0
EDITED: ответ (только, пока) полностью объясняет, что происходит в UNIX. Мне все еще интересно о других ОС.