
コンピュータをシャットダウンしたいときに、実行中のウィンドウを閉じるために wmctrl を使用しています。Eclipse でワークスペースを保存する必要があり、Chrome で開いているタブを失いたくないからです。この目的を達成するための小さなスクリプトを作成しましたが、完璧ではありません。ウィンドウが正常に閉じないことがあり、タブやソース コードの変更が失われます。ウィンドウが閉じられるまで wmctrl に待機するように指示する方法はありますか? 私のスクリプトは現在、3 秒間のスリープ (問題のある行) に依存していますが、明らかに良い解決策ではありません。
wmctrl -c chrome
wmctrl -c eclipse
sleep 3
poweroff
答え1
間違った質問をしています。ウィンドウが閉じるまで待つのではなく、プロセスが終了するまで待つ必要があります。
幸いなことに、これは答えやすい質問です。
while [ -n "$(pidof chrome eclipse)" ]; do
sleep 1
done