Saat proses dihentikan, shell hanya menyimpan kode pengembalian 8-bit, tetapi menetapkan bit tinggi jika proses dihentikan secara tidak normal. Namun karena proses Anda terhenti oleh kesalahan segmentasi, biasanya sinyal yang dikirimkan adalah SIGSEGV(Invalid memory reference) yang memiliki nilai 11.
Jadi karena proses Anda dihentikan secara tidak normal, Anda memiliki 128 dan kemudian Anda menambahkan nilai sinyal yang menghentikan proses tersebut yaitu 11, Anda mendapatkan 139.
Syscall yang relevan (memberikan status proses yang dihentikan) adalah waitpid(2). 139 adalah untuk WIFSIGNALED
dan WTERMSIG
dll... Di Linux, bit sebenarnya dijelaskan dalam file internal /usr/include/bits/waitstatus.h
yang disertakan dari <sys/wait.h>
tajuk
wait
, waitpid
panggilan adalah standar di POSIX dan begitu juga nama makro (seperti WTERMSIG
dll...). Implementasi sebenarnya dari makro ini, dan nomor sinyal sebenarnya, karenanya kode yang diberikan oleh shell, spesifik untuk implementasi.
Halaman manual signal(7) Linux memberikan jumlah sinyal.