fork 関数により子プロセスを起動し、メインのプロセスとは別の処理を開始するための例題です。
今回は、子プロセス内にて数値を1秒後とにインクリメントし、表示しているのみですが、無限ループで処理を終了させずに処理を行い続けるという例題等を考えても良いかもしれません。
その際、ps コマンド等でプログラムのプロセスIDを調べ、
Gami[363]% ps PID PPID PGID WINPID TTY UID STIME COMMAND 1284 1 1284 1284 con 1003 20:21:47 /usr/bin/tcsh 2764 1 2896 2764 con 1003 21:46:15 /cygdrive/c/home/murakami/list_46 1788 1284 1788 3832 con 1003 21:46:16 /usr/bin/ps Gami[364]% kill 2764というような感じで、処理を強制的に終了することが可能です。
子プロセスの起動(list_46.c)
|
|
|
実行結果
|
|
|