wmctrl – 等到窗口关闭

我想在关闭计算机时使用wmctrl来关闭正在运行的窗口。 这是因为我需要在Eclipse中保存工作区,而且我也不想丢失Chrome中打开的选项卡。 我写了一个完成这件事的小脚本,但它并不完美。 有时窗口没有优雅地关闭,所以我失去了我的标签或更改了源代码。 有没有办法告诉wmctrl等到窗口关闭? 我的脚本现在依赖于3秒睡眠(有问题的线),但它显然不是一个好的解决方案。

wmctrl -c chrome wmctrl -c eclipse sleep 3 poweroff 

你问的是错误的问题。 你不应该等到窗户关闭,但直到过程已经死亡。

幸运的是,这是一个更容易回答的问题。

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