Сообщение "Ошибка сегментации" на самом деле не написано, ./my_applitation
а из оболочки.
Когда вы используете &
после команды, оболочка будет запускать ее в фоновом режиме в подоболочке, я думаю, что вывод stderr этой подоболочки - это то, что теряется.
Я подтверждаю то же самое здесь:
$ cat >segf.c <<EOF int main(int argc, char *argv[]){ char *p; p=0; printf("%d", *p); } EOF $ make segf $ bash -c "./segf" Segmentation fault $ bash -c "./segf &" $