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