回答:
pgrepそしてpkillユーティリティは、次のように、SunのSolaris 7の中に導入されたg33klordは指摘し、彼らは、実行中のプロセスの名前と照合され、引数としてパターンを取ります。しながら、pgrep単にマッチングプロセスのリストを出力し、pkill所定の信号(又は送信しますSIGTERMプロセスにデフォルトの)。間の共通のオプションとセマンティクスはpgrep、pkill注意して、最初にリスト一致プロセスを確認しpgrep、次にそれらを削除するときに便利ですpkill。pgrepそして、pkillによって提供されるprocpsのに他の提供パッケージ、/proc等のファイルシステムユーティリティ、ps、top、free、uptime特にです。
このkillallコマンドはpsmiscパッケージによって提供され、pkillデフォルトでは、シグナルが送信されるプロセスを決定するときに引数名(最初の15文字まで)と正確に一致するという点で異なります。-e、--exactオプションも15文字より長い名前の正確な一致を必要とするように指定することができます。これにより、にkillall比べて使用が多少安全になりますpkill。指定された引数にスラッシュ(/)文字が含まれている場合、引数はファイル名として解釈され、その特定のファイルを実行しているプロセスがシグナル受信者として選択されます。killallまた経て、プロセス名の正規表現のマッチングをサポートし-r、--regexpオプション。
他にも違いがあります。killall例えば、コマンドは(年齢別マッチング処理のためのオプションがあり-o、--older-thanかつ-y、--younger-than一方で、) pkill(を経由して、特定の端末にのみキルプロセスに伝えることができる-tオプション)。明らかに、2つのコマンドには特定のニッチがあります。
Unix System Vのkillall子孫システム(特にSunのSolaris、IBMのAIXおよびHPのHP-UX)のコマンドは、特定のユーザーが強制終了できるすべてのプロセスを強制終了し、rootで実行するとシステムを事実上シャットダウンすることに注意してください。
Linux psmiscユーティリティはBSD(および拡張Mac OS X)に移植されているためkillall、「名前によるプロセスの強制終了」セマンティクスに従います。
killall -u <username> -r <process>か、pkill <process> -U <uid>その可能killall使用に私のために簡単に多くのことを。
killall-名前でプロセスを強制終了します。killallコマンドを使用して、コマンド名、特定のユーザーが所有するプロセス、またはシステム全体のすべてのプロセスなど、選択基準に一致する1つ以上のプロセスにシグナルを送信します。
pkill-指定されたシグナル(デフォルトではSIGTERM)を標準出力にリストする代わりに各プロセスに送信します。pkillのような複数のプロセスを通知できますがkillall、次の任意の組み合わせを含むことができる高度な選択基準を使用することもできます。
コマンドUID親端末