GNU/Linux >> Linux の 問題 >  >> Ubuntu

実行中のターミナルプログラムのプロセスID(pid)を見つける方法は?

Ctrlでエスケープできないプログラムをターミナルで実行しています – C そして私が殺したいこと。どうすればそのPIDを見つけることができますか?

ベストアンサー

別のターミナルを開き、ps ax | grep foo ここで、fooは応答しないプログラムの名前です。これにより、次のような出力行が返されます。

$ ps ax | grep firefox
2222 ?        S      0:00 /bin/sh /usr/lib/firefox-3.6.9/firefox
2231 ?        Sl   514:36 /usr/lib/firefox-3.6.9/firefox-bin
30290 pts/2    S+     0:00 grep --color=auto firefox

出力の各行の最初のフィールドは、grepと一致するプログラムのプロセスIDを表す数値です。 (grepを表す最後のものは無視してかまいません。

問題のあるプロセスを停止するには、次の手順を実行します:kill pid ここで、pidはプログラムのプロセスIDです。どのマッチがkillである必要があるかについてあなたの判断を使わなければならないかもしれません ed、またはtopを使用できます 代わりは。 killを使用する それ自体がSIGTERMを送信します。これにより、プログラムがそれ自体の後で適切にクリーンアップできるため、最初に試す必要があります。 SIGTERMが失敗した場合は、ストーガー医学であるSIGHUPを試してください:kill -HUP pid 。他のすべてが失敗した場合は、SIGKILLを送信します。ただし、これは最後の手段としてのみ行う必要があります。SIGKILLを使用すると、カーネルはプロセスをすぐに終了し、クリーンアップの可能性はありません。これにより、データの破損やその他の問題が発生する場合があります。繰り返しになりますが、最後の手段としてSIGKILLのみを送信してください。これを行うには、kill -KILL pidを実行します またはkill -9 pid

もちろん、グラフィカルインターフェイスを実行している場合は、このクレイジーなコマンドラインを使って仕事をこなす必要はありません。 「システムモニター」を開き、「プロセス」タブに移動し、停止するプロセスを選択して(うーん、90%のCPUを使用しているプロセスでしょうか?)、右クリックします。プロセスはすでに停止しているので(それが問題ですよね?)、表示されるメニューから[プロセスの終了]または[プロセスの強制終了]を選択します。

koanheadへのクレジット


Ubuntu
  1. Linux の特定のポートで実行されているプロセスを強制終了するには?

  2. プロセスの pid を取得し、シェル スクリプトで kill -9 を呼び出す方法は?

  3. 特定のプロセスの .pid ファイルを見つける方法

  1. Linuxでゾンビプロセスを見つけて殺す方法

  2. Ubuntu 20.04でターミナルをカスタマイズする-それを行う方法は?

  3. Linuxで実行中のプロセスを再起動(またはリセット)する方法は?

  1. Ubuntuのアップグレードプロセスはどのように機能しますか?

  2. Ubuntu でプロセスを見つけて強制終了する方法

  3. Ubuntu でプロセス ID を見つけるにはどうすればよいですか?