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

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

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

wmctrl -c chrome 
wmctrl -c eclipse 
sleep 3 
poweroff

答え1

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

幸いなことに、これは答えやすい質問です。

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

関連情報