Linuxのプロセス管理
2023-10-01 (日) 22:54:14
Linuxのプロセス管理 †
プロセスの確認 †
ps †
ps ※実行したユーザが起動しているプロセスの情報を表示
- オプション"-"無し ※推奨
ps a ※他のユーザーのプロセスも表示する ps au ※ユーザ名など詳細情報を表示する ps ax ※システム上で実行されている全てのプロセスを表示する ps aux ※プロセスを一覧表示する ps auxf ※プロセスの親子関係をツリー状で表示する
- オプション"-"あり
ps -e ※システム上で実行されている全てのプロセスを表示する ps -ef ※プロセスを一覧表示 ps -efl ※詳細情報を表示する ps -p <PID> ※指定したプロセスIDのプロセス情報のみ表示する ps -flp <PID>
pgrep †
- pgrep <option> <process-name>
pgrep <process-name> ※指定したプロセス名のPIDを表示 pgrep -u <username> ※指定したユーザー名が実行したプロセスのPIDを表示 pgrep -u <username> <process-name> pgrep -g <groupname> ※指定したグループ名のユーザーが実行したプロセスのPIDを表示
top †
- 実行中のプロセス情報をリアルタイム表示
- プロセスの監視に使われる
top ※プロセス監視画面表示 q ※終了
- 画面の表示
- 1行目:システムの稼働状況
- 2行目:実行プロセス数
- 3行目:CPUの状態
- 4行目:メモリの状態
- 5行目:スワップの状態
- 6行目以降:プロセスごとの情報
- プロセスの表示順:CPU時間の降順(デフォルト)
htop †
pstree †
- 実行中のプロセス情報をツール状で表示する
pstree
/var/run/*.pid †
- PIDが記述されているファイルの内容を表示
cat /var/run/httpd.pid
プロセスの終了 †
kill †
- プロセスを終了する(PIDを指定する) ※下記3種類とも動作は同じ
- kill -<signal-name/signal-id> PID
- kill -s <signal-name/signal-id> PID
- kill -SIG<signal-name> PID
- 終了
kill <PID> ※シグナルを指定しない場合のデフォルトはTERM(15) kill -15 <PID> kill -s 15 <PID> kill -TERM <PID> kill -SIGTERM <PID>
- 強制終了
kill -9 <PID> kill -KILL <PID>
- ※PIDの複数指定が可能
kill <PID1> <PID2>
- 使い方の参考
- TERMシグナルで終了しない場合、KILLシグナルで強制終了する。
- 通常、親プロセスを強制終了すると、子プロセスも終了する。
- 指定できるシグナルを表示する
kill -l
- シグナルの種類(代表的なもののみ)
シグナルID シグナル名 説明 1 HUP ハングアップ 2 INT キーボード入力の割り込み(Ctl+C) 9 KILL 強制終了 15 TERM 終了(デフォルト) 18 CONT 停止中のプロセスを再開 19 STOP 一時停止
killall †
- プロセスを終了する(プロセス名を指定する) ※下記3種類とも動作は同じ
- killall -<signal-name/signal-id> <process-name>
- killall -s <signal-name/signal-id> <process-name>
- killall -SIG<signal-name> <process-name>
pkill †
- プロセスを終了する(プロセス名を指定する)
- pkill
- pkill <option> <signal-name/signal-id> <process-name>
pkill <process-name> ※指定したプロセス名のプロセスを終了 pkill -9 <process-name> ※指定したプロセス名のプロセスを強制終了 pkill -KILL <process-name> ※指定したプロセス名のプロセスを強制終了 pkill -u <username> <process-name> ※指定したユーザー名が実行したプロセスを終了 pkill -g <groupname> <process-name> ※指定したグループ名のユーザーが実行したプロセスを終了
プロセスの優先度の指定 †
nice †
- ナイス値を指定してコマンドを実行
- nice -n <nice-value> <command>
nice -n -10 <command> ※実行優先度を10高くしてコマンドを実行(rootユーザーのみ実行可能) nice -n 10 <command> ※実行優先度を10低くしてコマンドを実行
- nice -n <nice-value> <command>
- ナイス値の範囲
- -20 〜 19(値が小さいほど優先順位が高くなる)
- プロセスのナイス値の確認
ps lp <PID>
renice †
- 実行中のプロセスのナイス値を変更する
- renice <nice-value> -p <PID> ※指定したPIDのプロセス
- renice <nice-value> -u <user-name> ※指定したユーザー名のユーザー
renice -n -10 -p <PID> ※ナイス値を-10に変更する(rootユーザーのみ実行可能) renice -n 10 -p <PID> ※ナイス値を10に変更する
パッケージ †
- procps