Bourne Shell の特殊シェル変数 $! はバックグラウンドで実行された直前のプロセスのプロセス番号を保持している。
$ man sh
...
! The process number of the last background
command invoked.
...
[参考]
http://flex.ee.uec.ac.jp/texi/sh/node30.html#SECTION00044000000000000000