È possibile eseguire una funzione o un comando in un momento specifico?


8

È possibile eseguire una funzione o un comando in un momento specifico? Come esempio esplicito, è possibile uccidere emacs in un momento specifico (tempo determinato dal sistema operativo).


1
tata

Vedo che qualcuno sta adottando misure
concrete

Risposte:


14

Si desidera utilizzare la funzione run-at-time, descritta nel capitolo 38.10 del manuale Emacs Lisp. Nel tuo caso, qualcosa del genere dovrebbe fare il trucco:

(run-at-time "20:30" nil #'kill-emacs)

Se la funzione che si desidera chiamare accetta parametri, è possibile specificarli come parametri aggiuntivi per run-at-time:

(run-at-time "5 sec" nil #'message "Tempus volat, hora fugit.")

Si noti che i tempi assoluti sono considerati oggi, anche se sono passati, quindi il primo esempio sopra uscirà immediatamente se è dopo le 20:30.


1
Ho inserito il codice nel mio file .emacs. Uccide emacs in un dato momento! Ma quando riavvio emacs, viene immediatamente ucciso. Qualche suggerimento?
Nome

1
@ Nome modificato per chiarire.
dal

LOL, puoi iniziare con l'opzione -q per bypassare il file init che brinderà a emacs fino a mezzanotte. Quindi cade la pantofola di vetro e puoi modificarla di nuovo fino alla stessa ora domani.
Devon,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.