Как убить внутренний процесс в Emacs? Например, я запускаю M-x shell
.
Я могу проверить запущенные процессы с помощью M-x list-processes
, но как я могу убить процесс из этого списка?
Как убить внутренний процесс в Emacs? Например, я запускаю M-x shell
.
Я могу проверить запущенные процессы с помощью M-x list-processes
, но как я могу убить процесс из этого списка?
Для этого нет привязки ключа по умолчанию; однако см. ответ pjammer - list-processes+
включает (среди прочего) привязку kill на C-k - а также ответ Joao Tavora - который предоставляет только привязку kill (для того же ключа).
event_jr указывает на комментарии, которые вы можете использовать M-: (kill-process)
RET, чтобы убить текущий процесс буфера.
В более общем плане: вы можете использовать M-: (kill-process PROCESS)
RET, где PROCESS
"может быть процессом, буфером или именем процесса или буфера", причем эти имена являются такими, какими они появляются в вывод list-processes
. Названия процессов имеют приоритет над именами буфера, если у вас возникнет конфликт; поэтому, вероятно, лучше всего привыкнуть указывать имя процесса.
В качестве альтернативы Emacs 23+ имеет общий системный диспетчер процессов (M-x proced
), который более похож на запуск top
и имеет обязательную привязку по умолчанию для отправки (произвольных) сигналов (k). Конечно, в этом списке может быть гораздо менее очевидным, какой процесс вам интересен.
Эта ветка древняя, но здесь очень быстрый хак, который отлично работает для меня.
(define-key process-menu-mode-map (kbd "C-k") 'joaot/delete-process-at-point)
(defun joaot/delete-process-at-point ()
(interactive)
(let ((process (get-text-property (point) 'tabulated-list-id)))
(cond ((and process
(processp process))
(delete-process process)
(revert-buffer))
(t
(error "no process at point!")))))
Альтернативный способ:
Вы можете использовать M-x eval-expression
RET
Затем введите: (delete-process "<name-of-the-process>")
RET
(где "name-of-the-process"
ранее было получено из M-x list-processes
RET).
Подтвердите, что процесс был убит повторением M-x list-processes
RET).
И что это.
похоже, что есть новый режим или добавление, вы можете использовать вместо него процесс списка +