web-dev-qa-db-ja.com

wmctrl-ウィンドウが閉じるまで待つ

コンピューターをシャットダウンしたいときに、wmctrlを使用して実行中のウィンドウを閉じています。これは、Eclipseでワークスペースを保存する必要があり、Chromeで開いているタブを失いたくないためです。私はそれを達成する小さなスクリプトを書きましたが、それは完璧ではありません。ウィンドウが正常に閉じないことがあるため、タブを失ったり、ソースコードを変更したりします。ウィンドウが閉じるまでwmctrlに待機するように指示する方法はありますか?私のスクリプトは3秒のスリープ(問題のある行)に依存していますが、それは明らかに良い解決策ではありません。

wmctrl -c chrome 
wmctrl -c Eclipse 
sleep 3 
poweroff
2
tomrozb

あなたは間違った質問をしている。ウィンドウが閉じるまで待つのではなく、プロセスが終了するまで待つ必要があります。

幸いなことに、それは答えるのが簡単な質問です。

while [ -n "$(pidof chrome Eclipse)" ]; do
  sleep 1
done