特定のプログラムが開いているかどうかを確認する方法

特定のプログラムが開いているかどうかを確認する方法

1端末のコマンドラインを使用して、プログラム(FirefoxやChromiumなど)が開いているかどうかを表示したいと思います0

編集:「開く」とは、「現在のコンピュータで実行されていて、私が見たXサーバーでウィンドウが開いている」ことを意味します。

ベストアンサー1

xwininfo -root -children | grep -q '"Firefox")'
echo "$(($? == 0))"

Xサーバーに接続されているクラスウィンドウがある場合Firefox(すべてのコンピュータのすべてのユーザーによって)1が出力されます。

Firefox プロセスをこのコマンドを実行するコンピュータに制限するには:

xwininfo -root -children |
  awk '/"Firefox"\)/{print $1}' |
  xargs -I% xprop -id % WM_CLIENT_MACHINE |
  cut -d\" -f2 |
  grep -qFx "$(uname -n)"

プロセス名で検索しても、プロセスが実際にウィンドウを表示するという保証はありません。あなたのXサーバー。

上記のアプローチは、オプションが渡されていないときにFirefoxが現在実行されているFirefoxを確認する方法と一致しています--no-remote

おすすめ記事