Shell (貝殻) その3

  


コマンド起動とプロセスについて

  • 前々回の添付資料の 1-1~1-3 をよく読んでみよう.

    • ; & || && について
    • 外部コマンドと内部コマンドの違いは?
    • fork と子プロセス
    • ^Z jobs kill bg fg ps top コマンド
    • プロセス番号とは? プロセス状態(R,S,Z)の説明
  • daemon(デーモン:妖精,鬼神) とは何か?
  • ゾンビプロセス
    ゾンビとは,プロセス(プログラム)は終了したのに,プロセスで使用していたリソース
    (メモリなど)が開放されずにいる状態.通常,子プロセスが先に死んだ場合,親プロセスが
    子プロセスのリソースの後始末を行うが,何らかの理由(プログラムミス等)により,
    親プロセスが子プロセスの面倒を見ない場合に,子プロセスはゾンビプロセスとなる.
    ゾンビプロセスは最終的には,全てのプロセスの親プロセスである init が面倒をみて
    成仏させる. 

 


演習

  • 前々回の添付資料の 1-1~1-3 の演習を試してみよう.
  • 必ずゾンビになるプログラム をダウンロードして 
    % chmod u+x zombie
    % ./zombie &
    として起動してみよう.  ソースコード:zombie.c
    このプログラムは起動すると fork を呼び出して子プロセスを起動する.
    子プロセスはすぐに終了するが,親プロセスは無限ループに入る.
    ps ax | grep zombie で子プロセスのプロセス状態がZ になっていることを確認.
    親プロセスを止めるにはどうすれば良いか? 
  • init プロセスについて


 


今回のコマンド

 jobs, kill, bg, fg, ps, top, grep
最后修改: 2014年04月18日 星期五 16:30