Minoru @Devel29A: сегфолт приводит к убийству программы сигналом, в этом случае программа не успевает ничего вернуть. Эту ситуацию по отдельным полям определяют
Minoru @Devel29A: wait() возвращает int, там как раз в одном из битиков закодировано «убит сигналом» и ещё в парочке — номер убившего сигнала. И про core dump отдельные поля есть
Minoru @pink_snow: вобщем-то да, было бы достаточно отличать ноль ото всего остального — но с wait() это невозможно, т.к. 0xff00 тоже выглядит как ноль
Ну, наверное, приложения всё равно 0xff00 не возвращают чтобы шелл с толку не сбивать. Так что и тебе бы, наверное, подошло.