#author("2022-05-08T08:44:37+09:00","default:k1rou","k1rou") #author("2023-10-01T22:54:14+09:00","default:k1rou","k1rou") *Linuxのプロセス管理 [#n26a725b] -[[Linuxコマンド]] *プロセスの確認 [#c4cd6bce] **ps [#t2a2cc00] 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 [#j8bd58b0] -pgrep <option> <process-name> pgrep <process-name> ※指定したプロセス名のPIDを表示 pgrep -u <username> ※指定したユーザー名が実行したプロセスのPIDを表示 pgrep -u <username> <process-name> pgrep -g <groupname> ※指定したグループ名のユーザーが実行したプロセスのPIDを表示 **top [#v9206062] -実行中のプロセス情報をリアルタイム表示 -プロセスの監視に使われる top ※プロセス監視画面表示 q ※終了 -画面の表示 --1行目:システムの稼働状況 --2行目:実行プロセス数 --3行目:CPUの状態 --4行目:メモリの状態 --5行目:スワップの状態 --6行目以降:プロセスごとの情報 ---プロセスの表示順:CPU時間の降順(デフォルト) **htop [#tbdc250d] **pstree [#s1b9beda] -実行中のプロセス情報をツール状で表示する pstree **/var/run/*.pid [#i5bd96ef] -PIDが記述されているファイルの内容を表示 cat /var/run/httpd.pid *プロセスの終了 [#d430200c] **kill [#t6ead62e] -プロセスを終了する(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 [#n7e778c6] -プロセスを終了する(プロセス名を指定する) ※下記3種類とも動作は同じ --killall -<signal-name/signal-id> <process-name> --killall -s <signal-name/signal-id> <process-name> --killall -SIG<signal-name> <process-name> **pkill [#v6724089] -プロセスを終了する(プロセス名を指定する) --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> ※指定したグループ名のユーザーが実行したプロセスを終了 *プロセスの優先度の指定 [#sfc1b059] **nice [#n7c99bdf] -ナイス値を指定してコマンドを実行 --nice -n <nice-value> <command> nice -n -10 <command> ※実行優先度を10高くしてコマンドを実行(rootユーザーのみ実行可能) nice -n 10 <command> ※実行優先度を10低くしてコマンドを実行 -ナイス値の範囲 -- -20 〜 19(値が小さいほど優先順位が高くなる) -プロセスのナイス値の確認 ps lp <PID> **renice [#gb7d1ac9] -実行中のプロセスのナイス値を変更する --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に変更する *パッケージ [#q9b89045] -procps *参照 [#t0074d7a] -[[Linuxのジョブ管理]]