あれっこのシステムってセグメンテーションフォルトするとどんな挙動するんだっけ?
って悩んだことはありませんか?

まぁ普通はいませんよね。でも、あれっプロセスが落ちたけど何故?
って困ったときはありませんか?

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    printf("%d\n", *(int *)0);
    return 0;
}

プロセスが落ちた時、core ってファイルが生成されているとGDBとかで原因の特定が可能です。
このソースコードを実行したときに下記のように出力されていれば、coreファイルは生成されていません。

$ ./segv
Segmentation fault

ulimit で確認してみましょう。

$ ulimit -c
0

値は 0 つまり、core ファイルは生成されません。
そこで、

$ ulimit -c unlimited
$ ulimit -c
unlimited

と無制限に設定して実行。

$ ./segv
Segmentation fault (core dumped)

無事にcoreファイルが生成されました。