このページの本文へ

管理者たるもの、システム管理はコマンドを駆使してきめ細かく行ないたい。

覚えておきたい必須コマンド30―その3・管理コマンド

2001年06月12日 00時00分更新

文● 中野 賢

  • この記事をはてなブックマークに追加
  • 本文印刷

Linuxはマルチプロセス・システムである。プロセスとはプログラムの実行単位のことだ。誰かがプログラムを実行すると、それはひとつのプロセスとして動作をする。同時に同じプログラムを実行しても、システムはそれぞれを別個のプロセス単位として扱う。

現在実行中のプロセスを調べるには、psコマンドを用いる。何もオプションを 指定せず実行すると、psコマンドを実行した端末で実行中のプロセスだけが表示される。

USER$ ps
PID TTY          TIME CMD
10085 ttyp0    00:00:00 bash
10092 ttyp0    00:00:04 vi
10276 ttyp0    00:00:00 ps

xオプションを指定すると、バックグラウンドで実行中のプロセスや、別の端末で実行しているプロセスも含め、自分が起動しているプロセスがすべて表示される。さらに、aオプションを付けると、すべてのプロセスが表示される(画面9)。

USER$ ps x
PID TTY      STAT   TIME COMMAND
10051 tty1     S      0:00 -bash
10062 tty1     S      0:00 sh /usr/X11R6/bin/startx
10069 tty1     S      0:00 xinit /home/ken-na/.xinitrc -- :0 -auth /home/ken-na/
10074 tty1     S      0:02 /usr/bin/enlightenment
10075 tty1     S      0:05 kinput2 -canna -cs localhost
10085 ttyp0    S      0:00 bash
10089 ttyp1    S      0:00 bash
10092 ttyp0    T      0:04 vi genko.txt
10153 ttyp2    S      0:00 bash
10274 ttyp1    T      0:00 fuga > hoge
10277 ttyp0    R      0:00 ps x
USER$ ps ax
PID TTY      STAT   TIME COMMAND
1 ?        S      0:02 init
2 ?        SW     0:00 [kflushd]
3 ?        SW     0:00 [kupdate]
4 ?        SW     0:00 [kpiod]
5 ?        SW     0:00 [kswapd]
286 ?        S      0:00 portmap
341 ?        S      0:00 syslogd -m 0
352 ?        S      0:00 klogd
368 ?        S      0:00 /usr/sbin/atd
384 ?        S      0:00 crond
:
:

画面9 psコマンドの実行例

稼働中のプロセスがハングアップしてしまった場合は、killコマンドでプロセスを終了させることができる。

USER$ kill -9 10274

最初の引数はプロセスを終了させるためのシグナルを意味している。2番目の引数は終了させたいプロセス番号だ。psコマンドのPIDの欄に表示されている。

一般ユーザーも自分の実行したプロセスに対してならば有効だ。スーパーユーザー以外は、他のユーザーのプロセスを終了させることはできない。

なお、lpdやhttpdのようなデーモンを停止したい場合は、Red Hat系のディストリビューションならば、

root# /etc/rc.d/init.d/lpd stop

のようにして停止する。

週刊アスキー最新号

編集部のお勧め

ASCII倶楽部

ASCII.jp Focus

MITテクノロジーレビュー

  • 角川アスキー総合研究所
  • アスキーカード
ピックアップ

デジタル用語辞典

ASCII.jp RSS2.0 配信中