En algunos casos, al delegar el trabajo a un proceso externo, es útil establecer un tiempo de espera en el comando para evitar que Emacs se cuelgue indefinidamente.
Desafortunadamente, lo siguiente no funciona.
(with-timeout (1 nil)
(call-process "/usr/bin/bash" nil t nil "-c" "sleep 10"))
Lo mismo vale para shell-command
.
¿Hay alguna manera de establecer un tiempo de espera en estos procesos sincrónicos?
Es decir, quiero que el proceso se elimine automáticamente si no termina en un cierto número de segundos. ¿Es eso posible?
call-process
anterior está configurando la salida para que se imprima en el búfer actual (obtengo el mismo efecto si paso un búfer de salida diferente). ¿Es eso lo que quieres decir?
call-process
fuentes, pero ahora empiezo a sospechar que no hay forma de matarlo cuando se agota el tiempo.
with-timeout
, pero he usadokill-process
ydelete-process
.