> 質問の意図は、子プロセスがexit(n)で終了したとき、親プロセス側で
> 参照する $? は、n ではなく n*256 になっていますが何故ですか?
> 何故、nではないのですか? というのが発端です。
> 残念ながら、まだ納得のいく解答が得られていません。

子プロセスが終了したのは、exitしたからとは限りません。

unless (pid = fork()) then
  exec "/bin/sh -c 'sleep 1000'"
else
  sleep 3
  Process.kill 'SIGSEGV', pid
  Process.wait
  printf "%04x\n", $?   # ==> 008b (Linux 2.2)
end

-- 
UENO Kazuaki <kazu / a-u.net>
(MSN Messenger: kazuau / hotmail.com)