
當我想關閉電腦時,我使用 wmctrl 關閉正在運行的視窗。這是因為我需要在 Eclipse 中儲存工作區,而且我不想遺失在 Chrome 中開啟的標籤。我寫了一個小腳本來完成這個任務,但它並不完美。有時視窗無法正常關閉,因此我會丟失選項卡或原始程式碼中的更改。有沒有辦法告訴wmctrl等到視窗關閉?我的腳本現在依賴 3 秒睡眠(有問題的行),但這顯然不是一個好的解決方案。
wmctrl -c chrome
wmctrl -c eclipse
sleep 3
poweroff
答案1
你問錯問題了。您不應該等到視窗關閉,而應該等到進程終止。
幸運的是,這是一個更容易回答的問題。
while [ -n "$(pidof chrome eclipse)" ]; do
sleep 1
done