12/03/09 13:33:57.70 zMyED95S
bash ですが、サブシェルの PID を取って来たくて困っています。
$ echo parent:$$ ; (echo sub:$$;ps --forest)
parent:8386
sub:8386
PID TTY TIME CMD
8386 pts/14 00:00:00 bash
9136 pts/14 00:00:00 \_ bash
9137 pts/14 00:00:00 \_ ps
サブシェル内で呼ばれた $$ も親の PID と同じ値になってます。
$$ の展開のタイミングが早いのかな、と思い
$ echo parent:$$ ; (eval 'echo sub:$$';ps --forest)
parent:8386
sub:8386
PID TTY TIME CMD
8386 pts/14 00:00:00 bash
9351 pts/14 00:00:00 \_ bash
9352 pts/14 00:00:00 \_ ps
としても、やはり親の PID のままです。
どうすればサブシェルの PID を取得できるのでしょうか。