コマンドラインからFirefoxを終了する方法

コマンドラインからFirefoxを終了する方法

コマンドラインから Firefox を終了するにはどうすればいいですか?

私が試してみました:

pkill firefox # the command was known to work previously
pkill -9 firefox
kill -9 firefox # descibed in https://unix.stackexchange.com/questions/8916/when-should-i-not-kill-9-a-process
bash: kill: firefox: arguments must be process or job IDs
killall firefox #described in https://appuals.com/restart-firefox-command-line/

すべて無駄に。

ここに画像の説明を入力してください

の出力

ps aux | grep -i firefox | grep -v grep

v           2419  1.7  7.7 4026824 458876 ?      Sl   12:56   0:51 /usr/lib/firefox/firefox -new-window
v           2483  0.0  0.6 190540 38684 ?        Sl   12:56   0:00 /usr/lib/firefox/firefox -contentproc -parentBuildID 20210927210923 -prefsLen 1 -prefMapSize 246254 -appdir /usr/lib/firefox/browser 2419 true socket
v           2515  0.0  2.0 2407620 119704 ?      Sl   12:56   0:01 /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 102 -prefMapSize 246254 -jsInit 286204 -parentBuildID 20210927210923 -appdir /usr/lib/firefox/browser 2419 true tab
v           2553  0.5  2.6 2572708 156816 ?      Sl   12:56   0:16 /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 268 -prefMapSize 246254 -jsInit 286204 -parentBuildID 20210927210923 -appdir /usr/lib/firefox/browser 2419 true tab
v           2581  0.0  1.6 2406928 99740 ?       Sl   12:56   0:01 /usr/lib/firefox/firefox -contentproc -childID 3 -isForBrowser -prefsLen 4889 -prefMapSize 246254 -jsInit 286204 -parentBuildID 20210927210923 -appdir /usr/lib/firefox/browser 2419 true tab
v           2612  0.3  3.7 2648096 225204 ?      Sl   12:56   0:09 /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 5588 -prefMapSize 246254 -jsInit 286204 -parentBuildID 20210927210923 -appdir /usr/lib/firefox/browser 2419 true tab
v           2866  0.0  1.2 2373260 72628 ?       Sl   12:58   0:00 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 5701 -prefMapSize 246254 -jsInit 286204 -parentBuildID 20210927210923 -appdir /usr/lib/firefox/browser 2419 true tab
v           2998  0.0  0.6 194220 39176 ?        Sl   13:12   0:00 /usr/lib/firefox/firefox -contentproc -parentBuildID 20210927210923 -prefsLen 5926 -prefMapSize 246254 -appdir /usr/lib/firefox/browser 2419 true rdd

答え1

tl;dr:pkill -f firefoxうまくいきます。

私は man ページでこれを見つけましたpkill/pgrep:

照合に使用されるプロセス名は、/proc/pid/stat の出力にある 15 文字に制限されます。完全なコマンド ライン /proc/pid/cmdline と照合するには、-f オプションを使用します。

/usr/lib/firefox/firefox自分のマシンでローカルにテストしているときにPID があると691953、次のことがわかりました/proc/691953/stat

691953 (GeckoMain) .... # truncated by me

約束どおりに Firefox を強制終了しましたpkill GeckoMainkillall GeckoMainこれも動作します。

-f最も簡単な回避策は、 にフラグをpkill指定して と一致させることです。/proc/<pid>/cmdline私のケースでは が含まれていました/usr/lib/firefox/firefox

答え2

killプロセスIDでのみ機能します

  1. ターミナルを開いて全画面表示にします
  2. ps -ef | grep firefoxすべてのFirefoxプロセスを表示するには入力してください
  3. プロセスID番号は2番目の列です
  4. あなたはおそらく議論でトップに立っている人を追いかけているのでしょう-new-window(必ずしもトップにいるとは限りません)
  5. 不明な場合はtop、終了したいFirefoxプロセスのプロセスIDを入力して確認してください。
  6. 次に、kill -9 12341234 がプロセス ID であると入力します。

同様の回答ここ

答え3

簡単なコマンドが必要なのはわかっています。次のコマンドのエイリアスを作成することをお勧めします。

pgrep firefox | xargs kill

例: 永続的なコマンド。./bashrc ファイルを編集します。

$ vim ~/.bashrc

ファイル内でエイリアスを保存したい場所を見つけます。たとえば、ファイルの末尾にエイリアスを追加できます。整理のために、エイリアスの前に次のようなコメントを残すことができます。

alias foxkiller="pgrep firefox | xargs kill 2>/dev/null"

foxkiller現在のセッションで新しく定義されたエイリアスを使用する場合は、次のコマンドを発行します。

$ source ~/.bashrc

foxkillerつまり、 Firefox を終了するコマンドが存在します。

答え4

私は小さなCアプリを書きましたが、これでうまくいきました

firefoxを強制終了する

実行中のインスタンスをすべて終了します

言うまでもなく、任意のプロセス名に使用できます

kkillerはデーモンであり、要求された名前を監視し、アクティブなプロセスになった場合はそれを強制終了します。

こちらからご覧いただけます:

GitHub の kkill、kkiller

関連情報