Apakah mungkin untuk menjalankan fungsi atau perintah pada waktu tertentu?


8

Apakah mungkin untuk menjalankan fungsi atau perintah pada waktu tertentu? Sebagai contoh eksplisit, apakah mungkin untuk membunuh emacs pada waktu tertentu (waktu ditentukan oleh OS).


1

Saya melihat seseorang mengambil tindakan keras untuk mencegah kecanduan emacs :)
biocyberman

Jawaban:


14

Anda ingin menggunakan fungsi run-at-time, yang dijelaskan dalam Bab 38.10 dari manual Emacs Lisp. Dalam kasus Anda, sesuatu seperti ini harus melakukan trik:

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

Jika fungsi yang ingin Anda panggil membutuhkan parameter, Anda dapat menetapkannya sebagai parameter tambahan untuk run-at-time:

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

Perhatikan bahwa waktu absolut dianggap hari ini, bahkan jika itu di masa lalu, jadi contoh pertama di atas akan segera keluar jika setelah 20:30.


1
Saya memasukkan kode Anda dalam file .emacs saya. Itu membunuh emacs pada waktu tertentu! Tetapi ketika saya me-restart emacs, ia langsung terbunuh. Ada petunjuk?
Nama

1
@Nama diedit untuk memperjelas.
jch

LOL, Anda bisa mulai dengan saklar -q untuk mem-bypass file init yang akan memanggang emacs Anda sampai tengah malam. Kemudian sepatu kaca jatuh dan Anda dapat mengedit lagi sampai waktu yang sama besok.
devon
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.