wmctrl - warten bis Fenster geschlossen ist

wmctrl - warten bis Fenster geschlossen ist

Ich verwende wmctrl, um laufende Fenster zu schließen, wenn ich den Computer herunterfahren möchte. Das liegt daran, dass ich in Eclipse Arbeitsspeicher sparen muss und außerdem meine geöffneten Tabs in Chrome nicht verlieren möchte. Ich habe ein kleines Skript geschrieben, das dies erledigt, aber es ist nicht perfekt. Manchmal schließen sich Fenster nicht ordnungsgemäß, sodass ich meine Tabs oder Änderungen im Quellcode verliere. Gibt es eine Möglichkeit, wmctrl anzuweisen, zu warten, bis das Fenster geschlossen ist? Mein Skript hängt jetzt von 3 Sekunden Ruhezeit ab (die problematische Zeile), aber das ist offensichtlich keine gute Lösung.

wmctrl -c chrome 
wmctrl -c eclipse 
sleep 3 
poweroff

Antwort1

Sie stellen die falsche Frage. Sie sollten nicht warten, bis das Fenster geschlossen ist, sondern bis der Prozess beendet ist.

Glücklicherweise ist diese Frage leichter zu beantworten.

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

verwandte Informationen