Skip to content

Quicksilver-Hänger mit Cronjob umgehen (Update)

Bei mir bleibt Quicksilver seit zwei Jahren auf drei verschiedenen Rechnern nach ein bis zwei Tagen regelmäßig hängen, in seltenen Fällen wird Safari gleich mit stillgelegt: Ich habe alles mögliche…

Esse est percipi
Oct 15, 2007 · 2 min read

ei mir bleibt Quicksilver seit zwei Jahren auf drei verschiedenen Rechnern nach ein bis zwei Tagen regelmäßig hängen, in seltenen Fällen wird Safari gleich mit stillgelegt:

Ich habe alles mögliche versucht: Kataloge neu aufbauen lassen, alle Kataloge außer Applications deaktiviert, Quicksilver neu installiert, das Internet nach Lösungen durchsucht etc. – ohne Erfolg.

Vor zwei Tagen bin ich auf die Idee gekommen, per Cronjob Quicksilver sozusagen prophylaktisch alle vier Stunden neu zu starten; seither hatte ich – Toi Toi Toi! – keinen Hänger mehr. Vielleicht gibt es ja Leidensgenoss(inn)en – für die ist diese Anleitung:

Man schreibt sich folgendes kleines Applescript:

try tell application "Quicksilver" to quit end try try tell application "Quicksilver" to activate end try

Das speichert man als Programm an einen beliebigen Ort, z. B. nach /Library/Scripts/Finder Scripts/Quicksilver-restart.app. Anschließend editiert man im Terminal die Crontab:

crontab -e

Wenn man nichts verändert hat, erscheint die Crontab im Vi-Editor. Dort trägt man ein:

0 */4 * * * /usr/bin/open "/Library/Scripts/Finder Scripts/Quicksilver-restart.app"

Anschließend die Escape-Taste drücken, dann nur noch :wq eingeben (damit wird gespeichert und Vi beendet) und schon erfährt Quicksilver alle vier Stunden einen Neustart. Wollen Sie den Neustart z. B. nur alle 8 Stunden durchführen lassen, tragen Sie /8 statt /4 an die zweite Stelle der Crontab-Zeile ein.

Mehr zu Cron bei Wikipedia.

Update

Wenn der Rechner gerade viel zu tun hat, wird Quicksilver unter Umständen zwar beendet, aber nicht neu gestartet. Mit der neuen Version des Scripts wird so lange mit dem Start gewartet, bis Quicksilver wirklich beendet ist:

try tell application "Quicksilver" to quit end try set beendet to false tell application "Finder" repeat until beendet = true set theApps to name of (every process) if theApps contains "Quicksilver" then set beendet to false else set beendet to true tell application "Quicksilver" to activate end if end repeat end tell

Did you enjoy this article?

Recommend it — Standard Reader surfaces well-loved writing to more readers across the network.

Across the AtmosphereDiscussions