Ist es möglich, eine Funktion oder einen Befehl zu einem bestimmten Zeitpunkt auszuführen? Als explizites Beispiel ist es möglich, Emacs zu einem bestimmten Zeitpunkt (vom Betriebssystem festgelegte Zeit) zu töten.
Ist es möglich, eine Funktion oder einen Befehl zu einem bestimmten Zeitpunkt auszuführen? Als explizites Beispiel ist es möglich, Emacs zu einem bestimmten Zeitpunkt (vom Betriebssystem festgelegte Zeit) zu töten.
Antworten:
Sie möchten run-at-time
die in Kapitel 38.10 des Emacs Lisp-Handbuchs beschriebene Funktion verwenden. In Ihrem Fall sollte so etwas den Trick machen:
(run-at-time "20:30" nil #'kill-emacs)
Wenn die Funktion, die Sie aufrufen möchten, Parameter akzeptiert, können Sie diese als zusätzliche Parameter angeben, um run-at-time
:
(run-at-time "5 sec" nil #'message "Tempus volat, hora fugit.")
Beachten Sie, dass die absoluten Zeiten als heute angesehen werden, auch wenn sie in der Vergangenheit liegen. Daher wird das erste Beispiel oben sofort beendet, wenn es nach 20:30 Uhr ist.