回答:
プロセスのID(名前を指定)を見つけるコマンドはpidof
です。ただし、意図はpidof
プロセスを強制終了することなので、最初にpidを見つけるのに使用するよりも良い/簡単な方法があります。
強制終了したいプロセスがその名前で一意に識別されている(またはその名前のすべてのプロセスを強制終了したい)と仮定すると、そのpidを知る必要はありません。簡単にできますkillall processname
。
同じ名前のプロセスが複数あるが、そのうちの1つだけを殺したいpidof
場合は、pidは得られるため、を使用してもあまり役に立ちませんが、どのプロセスを特定するための情報は得られません。 pidsは、実際に殺したいプロセスに属しています。
この場合ps aux | grep processname
、指定した名前のすべてのプロセスと、それらが実行されているコンソール(該当する場合)およびそれらが呼び出された引数を表示することができます。これにより、探しているプロセスを識別できます。 。
プロセスがXウィンドウを開いた場合は、を使用xkill
して強制終了する(呼び出しxkill
てからウィンドウをクリックする)こともできます。
私のお気に入りはpstree -p | grep $(program_name)
です。これは実際にプロセスを把握し、強調表示して、pidを括弧内に示します。
私の次のお気に入り(特に、プログラミングからプロセスのすべてのPIDを必要とする場合)はpgrep -law ""
です。これは文字通り、実行中のすべてのPIDに続いてアプリケーション(絶対パス付き)を提供します。
これはpgrep -lw ""
、pidの後にプログラム名が続く場合、またはpgrep -l
すべてのpidの場合でも削減できます。
もちろん、特定のプログラム(またはプログラムの一部)の名前を検索できます。(つまり、pgrep -lw firef
おそらく「4567 firefox」のようなものを表示します)。
pstree -psH $(pgrep prgram_name)
最初のケースの方が良いと思いませんか?
重複した質問に関する @Benからのこの回答は私の問題を解決しました:
top
ターミナルでコマンドを使用することを検討してください。
The top program provides a dynamic real-time view of a running
system. It can display system summary information as well as a
list of processes or threads currently being managed by the Linux
kernel. The types of system summary information shown and the
types, order and size of information displayed for processes are
all user configurable and that configuration can be made persis‐
tent across restarts.
マントップ経由
grep
特定のプロセスの名前を検索するためにパイプする:ps -A | grep 'my name'