[Linux]プロセス管理の概要

3192 ワード

プロセス管理


一、プロセスの基本紹介
  • Linuxでは、実行されるプログラム、コードごとにプロセス(process)となる.各プロセスにはID番号が割り当てられます.プロセスとスレッドの簡単な説明
  • 各プロセスは、1つの親プロセスに対応し、親プロセスを介して複数のサブプロセスをコピーできます.
  • 各プロセスは、2つの形式で存在し得る.フロントとバックグラウンド、フロントプロセスは現在の画面で行うことができる操作ですか?バックグラウンドプロセスは実際に操作されますが、画面に表示されないプロセスのため、通常はバックグラウンド方式で実行されます.
  • の一般的なシステムのサービスは、バックグラウンド方式で実行されるのが一般的です.また、画面にプロセスが表示されないため、バックグラウンド方式で実行されます.

  • 二、システム実行のプロセスを表示するps [ ]:現在のプロセスのステータスが表示されます.
    オプション
    パラメータ
    機能-a
    現在の端末のすべてのプロセス情報を表示-u
    プロセス情報をユーザー形式で表示-x
    バックグラウンド・プロセスの実行パラメータの表示-e
    すべてのプロセスを表示f
    フルフォーマット
  • プロセスの表示
  •  [root@wcl ~]# ps -aux|more
     USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
     root         2  0.0  0.0      0     0 ?        S    4 27   0:00 [kthreadd]
     root         3  0.0  0.0      0     0 ?        S    4 27   0:00 [ksoftirqd/0]
     root         5  0.0  0.0      0     0 ?        S<   4 27   0:00 [kworker/0:0H]
      ……      
    
  • 上の2行目の内容に注意してください.各列名の具体的な意味
  • をご紹介します.

  • 列名
    意味
    USER
    ユーザー名
    PID
    プロセス番号
    %CPU
    プロセスがCPUを占有する割合
    %MEM
    プロセスの物理メモリ使用率
    VSZ
    プロセスが使用する仮想メモリサイズ(KB)
    RSS
    プロセスが使用する物理メモリサイズ(KB)
    TTY
    使用する端末
    STAT
    プロセスステータス;S:睡眠;R:運転等
    START
    プロセスの開始時間
    TIME
    CPU時間、すなわちプロセスがCPUを使用する総時間
    COMMAND
    プロセスの開始に使用するコマンドとパラメータ

  • 現在のすべてのプロセスをフルフォーマットで表示し、プロセスの親プロセス
  • を参照します.
  • ps -ef | more
  • [root@wcl ~]# ps -ef |more
    UID        PID  PPID  C STIME TTY          TIME CMD
    root         3     2  0 4 27 ?       00:00:00 [ksoftirqd/0]
    root         5     2  0 4 27 ?       00:00:00 [kworker/0:0H]
    ... ...//      
    
  • 注意:PIDはプロセス番号です.PPID:親プロセス番号
  • sshdのプロセスの表示
  • ps -ef | grep sshd


  • 三、プロセスkillとkillallの終了
    途中でプロセスを停止させたいか、プロセスが大量のシステムリソースを消費しているためです.私たちはkillコマンドを使用してこのタスクを完了します.kill [ ] :プロセス番号によってプロセスを殺すkillall :プロセス名によってプロセスを殺し、ワイルドカードもサポート
    共通のオプション
    オプション
    機能-9
    プロセスの即時停止を強制
  • 不正ログインユーザーを蹴り落とす
  • [root@wcl ~]# ps -aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         2  0.0  0.0      0     0 ?        S    4 27   0:00 [kthreadd]
    root     16628  0.0  0.0 150424  5860 ?        Ss   17:26   0:00 sshd: root@pts/3
    root     16630  0.0  0.0 116316  2908 pts/3    Ss   17:26   0:00 -bash
    root     16651  0.0  0.0 189604  2364 pts/3    S    17:26   0:00 su jack
    jack     16652  0.0  0.0 116328  2928 pts/3    S+   17:26   0:00 bash
    
  • 注意:ここでユーザーjackを
  • 蹴り落とします.
  • kill 16651
    
    この時点でjackログインウィンドウに次の
    [jack@wcl root]$ 
    Session terminated, killing shell... ...   。
    [root@wcl ~]# 
    
  • が表示されます.
  • 強制的に端末199を殺す
  • kill -9 199
    


  • 四、プロセスツリーpstreeの表示
    プロセス情報をより直感的に表示できます.ここで私のシステムにはこの命令はしばらくなく、しばらく記録しません.
    続きは...
    五、サービス管理
    六、動的監視プロセス