Unixのプロセスの観察と簡単な操作
課題1 コマンドによるプロセスの観察
デスクトップ(pw)またはノートPC(nw)からloginする。2つ以上の
ウィンドウを開く。一つのウィンドウから ps u コマンドを打ちなさい。
%pw055 ps u
<ps コマンドの出力>
この結果、どのようなプロセスが見えるか。次に、片方のウィンドウで、
次のようにcatコマンドを実行する。
%pw055 cat
<キーボードからの入力待ち>
もう一つの端末から"ps u"コマンドを打ちなさい。
%pw055 ps u
<ps コマンドの出力>
この結果、どのようなプロセスが見えるか。ps コマンドの出力から
それぞれのプロセスの状態、メモリの使用量、元のプログラムについて
説明しなさい。tcsh ( または、あなたのlogin shell)という表示が
2行以上見つかるはずである。それより、プロセスとプログラムの違い
について考察しなさい。
nirai, kanai などのSolaris は、System V と呼ばれるOSの種類である。
Solaris のps には2種類ある。一つは、/usr/ucb/ps であり、もう一つ
は/bin/psである。この二つの違いは、ある意味でAT&T System V と
(University of California Berkrey) BSD の差を象徴している。
時間があったら二つのps の違いについて調べて見よう。
課題2 ps aux コマンドによるプロセスの観察
ps aux コマンドを使って、その計算機で動作している全てのプロセス
を調べなさい。何個のプロセスが動作しているか。(niraiとkanai
についても調べて見よう) そのうちのいくつかを選んで、どんな
プロセスがあるかを説明しなさい。レポートは、ps axu の実行結果の
うち、注目すべきものについてのみ抜粋して載せなさい。
(ps agx というのも使われるが、この場合はどうか?)
プロセスを見るコマンドには、top というものもある。top
の動作を見て、プロセスの生成削除の挙動について観察
せよ。
課題3 コマンドによるプロセスの消去
catコマンドから作られたプロセスを、^C により殺しなさい。また、
kill コマンドによって殺しなさい。
killコマンドの簡単な使い方
killコマンドは、プロセスに対してシグナルを送るためのコマンドである。
シグナルとは、UNIXの用語で、ソフトウェア割り込みを意味する。シグナル
を受け取ったプロセスは、何の設定もしてない場合は、終了する。
killコマンドは次のような形式で使われる。
% kill プロセス番号
% kill -KILL プロセス番号
ここで -KILL はシグナルの種類を亜割らす。-KILL は、プロセスを
必ず終了させるシグナルである。
課題4 コマンドによるプロセスの一時停止
cat コマンドから作られたプロセスを、^Z により一時停止しなさい。
また、kill コマンドによって一時停止しなさい。(^Zにより
一時停止する時には、誰かがkillコマンドに相当する
signalを出している。いったい誰が出しているのだろう?)
そして、tcsh のfjコマンドを使って実行を再開しなさい。
課題5 ps コマンドの利用法
ps コマンドの次の3つの結果を比較しなさい。
- ps
- ps u
- ps l
表示されるプロセスの違いと、プロセスについての情報の違いについて
述べなさい。
課題6 ps コマンドによるプロセスの優先順度の観察
ps alx コマンドを使って、その計算機で動作している全てのプロセスを
調べなさい。優先順位の高いプロセスは、どれか。
課題7 他人のプロセス
killコマンドで他人のプロセスを殺そうとするとどうなるか調べなさい
課題8 その他のsignal
topの中からでもkillコマンドを使用することができる。man signal
で表示されるsiganlの役割を実際にsignalを送りながら確認して見よ。