UNIX上において実行されている状態のプログラムのことをプロセスと言う。
プロセスにはその時点で独自のプロセス番号が割り当てられる。
そして、すべてのプロセスはプロセスは番号が1のプロセス(init)を祖先として、その子孫として作られてゆく。
(ちょうどディレクトリがルートディレクトリ( / )を元として作られているのと同じ形である)
UNIXではユーザーが自分で実行していないプロセスがたくさん実行されている。
それらはUNIXのシステムのために実行されているプロセスである。
# a.out & <- a.outをバックグラウンドで実行 # ps <- このコンソールで自分が実行しているプロセスだけ表示 PID TT STAT TIME COMMAND 12782 p0 S 0:00 -tcsh 24129 p1 S 0:00 a.out 24135 p1 R 0:00 ps <- a.outのプロセス番号は24135 # ps aux <- このマシンで実行されているすべてのプロセスを表示 USER PID %CPU %MEM VSZ RSS TT STAT START TIME COMMAND abe 12177 0.0 0.5 1544 180 1 S May 19 0:00 jtcsh abe 12767 0.0 0.2 1548 64 1 S 05:11 0:00 startx abe 24129 0.0 0.3 1944 120 p1 R 05:11 0:00 a.out . . . . . . . . . . . . . . . . <- 長いので途中は省略 . . . . . . . . . . . root 12568 0.0 0.1 812 40 2 S 00:18 0:00 getty root 12775 0.0 2.6 2704 828 1 S 05:11 0:01 xterm -geometry 89x root 12776 0.0 3.4 2808 1068 1 S 05:11 0:12 kterm -km euc -geom # kill 24129 <- a.outを中止させる # ps PID TT STAT TIME COMMAND 12782 p0 S 0:00 -tcsh 24146 p1 R 0:00 ps