¿Es posible ejecutar una función o comando en un momento específico?


8

¿Es posible ejecutar una función o comando en un momento específico? Como ejemplo explícito, ¿es posible matar emacs en un momento específico (tiempo determinado por el sistema operativo).


1
Ver también modo medianoche
niñera

Veo que alguien está tomando medidas para prevenir la adicción a emacs :)
biocyberman

Respuestas:


14

Desea utilizar la función run-at-time, descrita en el Capítulo 38.10 del manual de Emacs Lisp. En su caso, algo como esto debería hacer el truco:

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

Si la función a la que desea llamar toma parámetros, puede especificarlos como parámetros adicionales para run-at-time:

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

Tenga en cuenta que los tiempos absolutos se consideran hoy, incluso si están en el pasado, por lo que el primer ejemplo anterior saldrá inmediatamente si es después de las 20:30.


1
Puse su código en mi archivo .emacs. ¡Mata emacs en el momento dado! Pero cuando reinicio emacs, se elimina inmediatamente. Alguna pista?
Nombre el

1
@Nombre editado para aclarar.
jch

LOL, puede comenzar con el modificador -q para omitir el archivo init que tostará sus emacs hasta la medianoche. Luego cae la zapatilla de vidrio y puede editar nuevamente hasta esa misma hora mañana.
devon
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.