In einigen Fällen ist es beim Delegieren von Arbeit an einen externen Prozess hilfreich, eine Zeitüberschreitung für den Befehl festzulegen, um zu verhindern, dass Emacs auf unbestimmte Zeit hängen bleibt.
Leider funktioniert das Folgende nicht.
(with-timeout (1 nil)
(call-process "/usr/bin/bash" nil t nil "-c" "sleep 10"))
Das gilt auch für shell-command
.
Gibt es eine Möglichkeit, ein Timeout für diese synchronen Prozesse festzulegen?
Das heißt, ich möchte, dass der Prozess automatisch abgebrochen wird, wenn er nicht innerhalb einer bestimmten Anzahl von Sekunden abgeschlossen ist. Ist das möglich?
call-process
Oben wird festgelegt, dass die Ausgabe auf dem aktuellen Puffer gedruckt werden soll (ich erhalte den gleichen Effekt, wenn ich einen anderen Ausgabepuffer übergebe). Meinst Du das?
call-process
Quellen schauen , aber jetzt beginne ich zu vermuten, dass es keine Möglichkeit gibt, es bei einer Auszeit zu töten.
with-timeout
, aber ich habekill-process
und benutztdelete-process
.