É possível executar uma função ou comando em um horário específico?


8

É possível executar uma função ou comando em um horário específico? Como um exemplo explícito, é possível matar o emacs em um horário específico (horário determinado pelo sistema operacional).


1
Veja também midnight-mode
babá

Eu vejo alguém está tomando medida difícil de evitar emacs vício :)
biocyberman

Respostas:


14

Você deseja usar a função run-at-time, descrita no capítulo 38.10 do manual Emacs Lisp. No seu caso, algo como isto deve funcionar:

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

Se a função que você deseja chamar aceita parâmetros, você pode especificá-los como parâmetros adicionais para run-at-time:

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

Observe que os tempos absolutos são considerados hoje, mesmo que existam no passado; portanto, o primeiro exemplo acima será encerrado imediatamente se for depois das 20:30.


1
Coloquei seu código no meu arquivo .emacs. Mata emacs em um determinado momento! Mas quando eu reinicio o emacs, ele é imediatamente morto. Alguma dica?
Nome

1
@Name editado para esclarecer.
JCH

LOL, você pode começar com a opção -q para ignorar o arquivo init que estará brindando seu emacs até meia-noite. Em seguida, o sapatinho de cristal cai e você pode editar novamente até o mesmo horário amanhã.
Devon #
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.