[目次] [前章]

7.プロセス管理

プロセス


プロセスとは、ひとつのプログラムと考えて良いでしょう。
psコマンドを打てば、現在実行されているプロセスのリストが出てきます。
以下が、psコマンドの実行例です。

  PID TTY STAT TIME COMMAND
  122  p0 S    0:00 -tcsh
  129  p0 R    0:00 ps

・PIDは、そのプロセスのプロセスIDで、
プロセスを停止させる時などに使用します。
・TTYは、そのプロセスが実行されている端末を表わします。
・STATは、そのプロセスの実行状況で、
S(Sleeping)、R(Runnable)を表わします。
・TIMEは、そのプロセスの累積実行時間を表わします。
・COMMANDは、コマンド名を表わします。

では、例えばNetscapeが暴走して、操作が効かなくなった時に、
停止させるにはどうすれば良いかというと、
killコマンドを使って、
kill <PID>
とします。
kill netscapeでは無いですよ。

バックグラウンドジョブ


Apacheのようなデーモン(Daemon)を走らせる時には、
通常バックグラウンドジョブで起動します。
httpd &
という感じです。
&をつけることによって、バックグランドジョブとして起動可能です。

よく、X Window Systemを使っていて、
xclockなどのコマンドをうち、起動させるのですが、
プロンプトが帰って来ないなんていう現象が起きるのは、
このバックグラウンドジョブで走らせることによって解決可能です。
xclock &
とやるだけで、xterm上のプロンプトは帰ってくるし、
プログラムもきちんと起動可能です。

このようなデーモンプロセスは、数多くあります。
例えば、指定した時刻にプログラムを実行させるcrond。
IP Address<==>ホストネームの相互変換を行うnamed。
かな漢字変換を行うデーモンなどもあります。
その他まだありますが、ps -aex(linuxの場合)などして、
自分で調べて見てください。

[目次] [前章]