diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el index a5e9de79907..f982e2101f5 100644 --- a/lisp/eshell/esh-proc.el +++ b/lisp/eshell/esh-proc.el @@ -206,6 +206,11 @@ This is like `process-live-p', but additionally checks whether Usage: kill [-] | ... Accepts PIDs and process objects. Optionally accept signals and signal names." + ;; The implementation below only supports local PIDs. For remote + ;; connections, fall back to the external "kill" command. + (when (file-remote-p default-directory) + (declare-function eshell-external-command "esh-ext" (command args)) + (throw 'eshell-external (eshell-external-command "kill" args))) ;; If the first argument starts with a dash, treat it as the signal ;; specifier. (let ((signum 'SIGINT))