2012-05-16 11 views

Antwort

22

Es gibt keine Standardschlüsselbindung dafür; aber siehe pjammers Antwort - list-processes+ enthält (unter anderem) eine Kill-Bindung an C-k - und auch Joao Tavora Antwort - die nur eine Kill-Bindung (für den gleichen Schlüssel) bietet.

event_jr Punkte in den Kommentaren, die Sie verwenden können M-:(kill-process)RET der aktuellen Puffer des Prozesses zu töten.

Allgemeiner: Sie können mit M-:(kill-process PROCESS)RET, wo PROCESS „ein Prozess sein kann, einen Puffer oder den Namen eines Prozesses oder Puffer“, mit diesen Namen zu sein, wie sie in der erscheinen Ausgabe von list-processes. Prozessnamen haben Vorrang vor Puffernamen, falls Sie einen Konflikt haben sollten; Daher ist es wahrscheinlich am besten, den Prozessnamen anzugeben.

Alternativ hat Emacs 23+ ein allgemeines System Prozessmanager (M-x proced), die zum Laufen top verwandter ist, und die einen Standard für das Senden (willkürliche) Signale ( k) Bindung hat. Natürlich kann es weit weniger offensichtlich in dieser Liste sein, die Sie interessiert sind zu verarbeiten

+5

, wenn Sie in dem Puffer sind, die den Prozess hat zugeordnet ist, dann '(kill-Prozess)' wird ohne Arbeits Pufferspezifikation. –

+0

Dies scheint nicht zu gelten, wenn der Prozess keinen zugeordneten Puffer hat (mehr), wie wenn Sie den Puffer gelöscht haben, aber das den Prozess nicht beendet hat, was manchmal der Fall sein kann. –

+0

Erik Allik: Ich habe die Antwort aktualisiert. – phils

8

Eine alternative Möglichkeit genannt verwenden können.

können Sie verwenden Mxeval-expressionRET

geben Sie dann: (delete-process "<name-of-the-process>")RET

(wobei "name-of-the-process" zuvor aus M-xlist-processesRET erhalten wurde).

Bestätigen, dass der Prozess durch Wiederholung M-xlist-processesRET) getötet wurde.

Und das ist es.

13

Dieser Thread ist alt, aber hier ist eine sehr schnelle Hack, der perfekt funktioniert für mich

(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!")))))