Solaris のシステム管理 (第 2 巻)

システム性能の管理に関する新機能

この節では、Solaris 7 リリースのシステム性能を管理するための新しい機能について説明します。

pgreppkill コマンド

以前の Solaris リリースでは、psgrepegerpawkkill コマンドを組み合わせてプロセスを管理していましたが、pgrep および pkill コマンドがこれらのコマンドに置き換わります。

pgrep コマンドは、システム上のアクティブなプロセスを調べ、その属性がコマンド行に指定された基準に合っていればそのプロセス ID を表示します。

pkill コマンドは pgrep コマンド同じ動作をしますが、一致したそれぞれのプロセス ID を表示する代わりに、kill(2) によりシグナルで通知する点が異なります。

このコマンドを使用する利点は、次のとおりです。

例 - pgreppkill コマンドを使用する

次の例は、pgrep コマンドを使用して、指定したプロセス dtmail の所有者がユーザー kryten と一致することを確認し、次に pkill コマンドでそのプロセスを終了させます。

$ pgrep -u kryten -x dtmail
14206
$ pkill -u kryten -x dtmail
$

スーパーユーザーとして pkill コマンドを実行する場合、-u オプションを指定すると、他のユーザーが所有するプロセス dtmailを誤って終了させてしまうことを防止できます。

次の例は、最も後で作成されたユーザー pmorph のプロセス shelltool を終了させます。

% pkill -u pmorph -n shelltool

次の例は、proc(1) ツールの 1 つである pwdx コマンドを pgrep コマンドへの入力として使用して、ユーザー rimmer の Korn シェルの現在の作業ディレクトリを表示します。

$ pgrep -u rimmer -x ksh | xargs /usr/proc/bin/pwdx
 4748: 	/home/rimmer
11395:	/home/rimmer/src/command
 6010:	/datab/files/file1

詳細は、pgrep(1) のマニュアルページを参照してください。