アプリケーションに関連するすべてのプロセスを終了します。

アプリケーションに関連するすべてのプロセスを終了します。

一時的に作成された2つのプロセスがあり、それを終了する必要があります。以下は後のプロセスです。ps aux

david  38329   0.0  5.0  3916476 104624 s002  S    11:33AM   0:17.43 /Applications/Firefox.a
david  38319   0.0  0.0  2442472   1028 s002  S    11:33AM   0:00.10 Xvfb -br -screen 0 800x
david  38268   0.0  0.2  3012352   4960   ??  S    11:02AM   0:00.24 /System/Library/Framewo
david  38261   0.0  3.4  3913364  70724 s002  S    11:02AM   0:08.51 /Applications/Firefox.a

Xvfb次のいずれかであるすべてのプロセスをどのように終了しますかFirefox

修正する:$ sudo killall Xvfb次の方法でプロセスを終了できましたが、Firefoxを使用しても問題があります。

davids-Mac-mini:financials david$ ps aux|grep firefox
david          /Applications/Firefox.app/Contents/MacOS/firefox-bin -foreground
david          /Applications/Firefox.app/Contents/MacOS/firefox-bin -foreground
david          grep firefox
davids-Mac-mini:financials david$ sudo killall firefox
No matching processes were found

答え1

名前でこれを行うには、次のようにします。

killall firefox

Firefox の最初のインスタンスなど、特定のプロセスを終了するには:

kill 38329

プロセスを続行したくない場合は、次を使用できます。

kill -KILL 38261

プログラムには、オペレーティングシステムがプログラムを終了するのを防ぐ方法はありません。

修正する:コマンドで使用可能なすべてのプロセス名のリストを表示するには、以下をkillall使用できます。

ps -axco command | sort | uniq

答え2

あなたはできます

kill `pgrep Xvfb` `pgrep Firefox`

-fなしで見つからない場合は、-fを追加してコマンド全体を検索できます。

pgrep -f Firefox 

pgrepと同じ入力を持つpkillもあります。

pkill Xvfb; pkill -f Firefox;

答え3

この関数はアプリケーションに関連するすべてのプロセスを終了します。次のように呼び出すことができます。killapp chrome

killapp () {
    processes=($(pidof $1))
    for pid in $processes
        do 
            kill -9 $pid
        done
    }

macOSを使用していてまだインストールしていない場合は、pidofインストールまたはbrew使用できますpgrep

pidof見つけたので最も効果が良いと思います。みんな特定のアプリケーションに関連するプロセスですが、必ずしもそうとは限りませんpgrep

関連情報