この記事では、Linuxのpkillの基本について説明します。 コマンド。
pkill は、指定された基準に基づいて実行中のプログラムのプロセスに信号を送信するコマンドラインユーティリティです。プロセスは、完全な名前または部分的な名前、プロセスを実行しているユーザー、またはその他の属性で指定できます。
pkill コマンドはprocpsの一部です (またはprocps-ng )パッケージ。ほぼすべてのLinuxディストリビューションにプリインストールされています。 pkill 基本的にpgrepのラッパーです 一致するプロセスのリストのみを出力するプログラム。
pkillの使用方法 コマンド#
pkillの構文 コマンドは次のとおりです:
pkill [OPTIONS] <PATTERN>
一致する<PATTERN> 拡張正規表現を使用して指定されます。
オプションなしで呼び出された場合、pkill 15を送信します (TERM )指定された名前と一致するすべての実行中のプログラムのPIDに信号を送ります。たとえば、すべてのFirefoxプロセスを正常に停止するには、次のコマンドを実行します。
pkill -15 firefox
コマンドは0を返します 少なくとも1つの実行中のプロセスが要求された名前と一致する場合。それ以外の場合、終了コードは1です。 。これは、シェルスクリプトを作成するときに役立ちます。
一致したプロセスに別のシグナルを送信するには、pkillを呼び出します --signalを使用したコマンド オプションの後に、数値または記号の信号名が続きます。シグナルを送信する別の方法は、pkillを実行することです。 ハイフン(-)が前に付いた信号名または番号が続きます 。
kill -lを使用します 使用可能なすべての信号を一覧表示するコマンド。
最も一般的に使用される信号は次のとおりです。
-
1(HUP):プロセスをリロードします。 -
9(KILL):プロセスを強制終了します。 -
15(TERM):プロセスを正常に停止します。
信号は、次の3つの方法で指定できます。
- 数字を使用する(例:-1)
- 「SIG」プレフィックス付き(例:-SIGHUP)
- 「SIG」プレフィックスなし(例:-HUP)。
たとえば、実行するNginxprocessesをリロードするには:
pkill -HUP nginx
pkill 正規表現を使用してプロセス名を照合します。 pgrepを使用することは常に良い考えです 信号を送信する前に、一致したプロセスを印刷するコマンド。たとえば、名前に「ssh」が含まれているすべてのプロセスを一覧表示するには、次のようにします。
1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent
名前が検索パターンとまったく同じであるプロセスにのみシグナルを送信する場合は、次を使用します。
pkill '^ssh$' カレット(^ )文字列の先頭で文字が一致し、ドル$ 最後に。
デフォルトでは、pkill プロセス名とのみ一致します。 -fの場合 オプションを使用すると、コマンドは完全な引数リストと照合されます。コマンドにスペースが含まれている場合は、コマンド全体を引用してください:
pkill -9 -f "ping 8.8.8.8"
-uを使用します pkillに指示するオプション 特定のユーザーによって実行されているプロセスを照合するには:
pkill -u mark 複数のユーザーを指定するには、名前をコンマで区切ります。
pkill -u mark,danny
オプションと検索パターンを組み合わせることもできます。たとえば、KILLを送信します ユーザー「mark」の下で実行され、名前に「gnome」が含まれているすべてのプロセスに、次のように通知します。
pkill -9 -u mark gnome
最も最近(最も古い)または最も最近(最も新しい)開始されたプロセスのみを表示するには、-nを使用します (最新の場合)または-o (最も古い)オプション。
たとえば、最近作成した画面を強制終了するには:
pkill -9 -n screen 結論#
pkill コマンドは、さまざまな基準に基づいて実行中のプログラムに信号を送信するために使用されます。
pkillの詳細については コマンドを実行するには、pkillのマンページにアクセスするか、man pkillと入力します。 ターミナルで。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。