【マルチタスク】
複数のプログラムを同時に実行させること
【プロセス】
実行するプログラムやコマンドを OS が管理する単位
【タイムシェアリング方式】
複数のプロセスが同時に動いているように見えるが、実際は細切れにして、短い時間で切り替えながら少しずつ複数のプロセスを実行している。このように処理するプロセスを一定時間ごとに切り替える方式のこと。
【プロセスの管理】
プロセスの実行はOSのカーネルにより管理されており、ツリー状の階層形式がとられている
↓
プロセスは、それぞれのプロセスID(PID)という一意的な数字が割り振られており、これにより互いに区別ができる。
【pstreeコマンド】
プロセスの関係をみることができる
pstree
initが全てプロセスの頂点。initは起動時におけるシステム初期化など重要な役割を持つ(/sbin/init)
【psコマンド】
現在実行されているプロセスの一覧表を表示
ps
形式:
532 tty2 20:27:08 ps
PID ・・プロセスID
tty・・プロセスを制御している端末
time・・実行時間
CMD・・実行コマンド
【ps -aコマンド】
端末と結び付いている全てのプロセスを表示する
【ps -axコマンド】
起動しているすべてのプログラムの一覧を表示
【ps -auxコマンド】
起動しているすべてのプログラムの一覧を表示
※uを入力すると人の読みやすい形で表示される
形式:
root 1 0.0 0.6 3764 1240 ? S 00:8 0:00 init
左から
USER ユーザー名
%CPU CPUの使用率
%MEM メモリの使用率
VSZ 使用仮想メモリのサイズ
RSS 常駐セットの大きさ
TTY 仮想コンソールの番号
STAT 状態 (sはスリープ Rは実行可能)
START
TIME
COMMAND
【killコマンド】
動いているプロセスを止める
rootは、全てのプログラムをkillできる。一般ユーザーは、自分が実行しているプロセスのみkill可能
kill [オプション] [プロセスID]
オプション:
値 シグナル 意味
-1 -SIGHUP 一度、プロセスを停止し、再起動
-9 -SIGKILL プロセスを強制的に停止
-15 -SIGTERM プロセスを停止
-18 -SIGCONT 一旦停止中のプロセス再開
-19 -SIGSTOP プロセスの一旦停止
※SIGは省略可能
【kill -lコマンド】
定義されているシグナルの一覧が表示される
kill -l
【pstree -pコマンド】
PID付きでツリー構造を表示する
pstree -p