Comments
Description
Transcript
プリント第11回
17 2006 年前期 プログラミング環境(IS 科 2 年) 第 11 回(6 月 23 日) 真貝 今日の到達目標 • ジョブ制御(下 19 章 p63-82) ps, jobs, fg, bg, kill, top • 次回は「シェルプログラミング」,教科書の下 巻(15 章)です.その後,前期の総復習「演習 マラソン」(各自の自習)とします. 今日の課題 ジョブの停止と再開 CNTL-Z, jobs, fg, bg, kill 1. 教科書下巻 64 ページの実習1-実習3.作業ディレクトリは ˜/public html/kadai0623 とせよ.実習 3にある vi コマンドは emacs コマンドに置き換えて実行してよい. 2. 次の問いに答えなさい. (a) ジョブとプロセスの違いを説明しなさい. (b) バックグラウンドジョブの終了方法を2つ上げなさい. (c) cat | wc &を実行すると,ジョブはどのような状態となるかを説明しなさい. (d) バックグラウンドジョブの標準出力をファイルにリダイレクションすべき理由を説明しなさい. 3. 次の一連のジョブ制御の流れの中で空欄 (1)-(9) を埋めなさい. % xeyes & % cat | wc -l 1 2 (1) % jobs (2) %(3) cat | wc -l 1 (4) % cat | wc -l (1) %(5) % jobs %(6) (7) % jobs %(8) %(5) %(9) #ここで,ジョブの中断(一時停止)を行う. #出力されるジョブの状態を書け. #上記で中断したジョブをフォアグラウンドで再開するコマンド. #このジョブを正常終了させる操作.また,その結果は何が出力されるか書け. #ここで,ジョブの中断(一時停止)を行う操作. #ここで,上記中断したジョブをバックグラウンドで再開. (cat の tty 入力だけが中断し,wc は実行) # eyes のジョブをフォアグラウンドにするコマンド. # xeyes のジョブを強制終了させる操作. #残っているジョブを一時停止するコマンド. #ここで,上記中断したジョブをバックグラウンドで再開. #上記ジョブを強制終了するコマンド. 18 実行中の処理を調べる ps, kill 4. 以下の操作を行い,出力を確認せよ.作業ディレクトリは ˜/public html/kadai0623 とせよ. % emacs dickens.note & # Emacs をバックグラウンドで起動 % xclock & # xclock をバックグラウンドで起動 % xeyes & # xeyes をバックグラウンドで起動 % jobs # ジョブの状態を調べる # ジョブを全て終了させる.ジョブ番号に対応して以下の番号を入力 % kill %1 %2 %3 # Emacs,xclock,xeyes を再度バックグラウンドで起動 % emacs dickens.note & % xclock & % xeyes & % ps #図 17.1 を参照 プロセスの状態を調べる % ps -u #図 17.2 を参照 % ps -aux #全ての関連プロセスの状態が表示されていることを確認せよ.また,図 17.1,17.2 を 見てもわからない状態表示については,man ps で調べよ.例:ppid=親プロセスのプロセス ID 5. 次の問に答えなさい. (a) root ユーザによって起動されているプロセスの情報を表示するコマンドを書きなさい. (b) UNIX システム上で実行されている全てのプロセスの数を出力するコマンドを書きなさい. (c) csh プログラムを実行しているプロセスだけの情報を表示するコマンドを書きなさい. (d) UNIX システムで実行されている全てのプロセスを,占有メモリ(メモリ使用率:%MEM で表示) の大きい順にソートして出力するコマンドを書きなさい. 6. 隣のマシンに telnet し,ジョブを走らせることによって,マシンの稼働状況を見てみよう.次のステッ プで試みよ. (a) 互いに隣のマシンの番号を教え合う.pcXXXX (b) 自分のマシンのターミナルで,top (c) 自分のマシンのターミナルをもう一つ開き,そこで,telnet pcXXXX としてログイン. (d) ログインした先で,xclock & や xeyes & や man man など. (e) 相手も実行した場合,自分のマシンに負荷が生じる.確かめよ. おまけ.相手のマシンで X window が起動しているならば,相手のマシンの画面上に xeyes を出すこと ができる.setenv DISPLAY pcXXXX.info.is.oit.ac.jp:0.0 (普通は,自分のマシンに出力させる 設定を行うのだが. . ) kill コマンド 7. 教科書 79 ページ実習1∼5.ただし,vi コマンドは,emacs コマンドに置き換えて実行してよい. 8. 以下の問いに答えなさい. (a) 実行中の mozilla プロセスを強制終了させるためのコマンド手順を書きなさい. (b) 実行中の emacs プロセスを強制終了させると,どんな問題が発生するかを答えよ. Mozilla 強制終了時の注意 mozilla のプロセスが全て終了ができていない場合,再度ログインしたとき,Mozilla が正常起動しない場合があ る.この場合の対処策は以下のとおり.ターミナルで,find -name “ lock ”のコマンドを入力し,mozilla の 前のセッションの状態が残っている lock ファイルを探し,rm コマンドで削除すると正常起動する. 例:/home/t/shinkai/.mozilla/default/********.slt/lock という lock ファイルが検索されたら, % rm /home/t/shinkai/.mozilla/default/********.slt/lock