Google Chromeキャッシュを消去するスクリプトを作成しています。ところで、Chromeが開いているかどうかを確認したいのですが、開いている場合はコードを実行せず、開いていない場合はコードを実行します。プロセス名はGoogle Chromeですが、コードが機能していないことがわかります。
これが私がこれまでにしたことです。私は何が間違っていましたか?
SERVICE='Google Chrome'
if ps ax | grep -v grep | grep $SERVICE
then
RUNS THE CODE
else
echo "PLEASE CLOSE GOOGLE CHROME"
fi
どんな助けにも感謝します:)
答え1
pgrep
@StéphaneChazelasが述べたように、manページで-を使用できます。
pgrepコマンドは、実行中のシステムからプロセステーブルを検索し、コマンドラインで指定された基準に一致するすべてのプロセスのプロセスIDを印刷します。
SERVICE='Google Chrome'
if pgrep -xq -- "${SERVICE}"; then
echo running
else
echo not running
fi
答え2
「$SERVICE」を引用する必要があります。
SERVICE='Google Chrome'
if ps ax | grep -v grep | grep "${SERVICE}" &> /dev/null; then
echo running
else
echo not running
fi