3

c++ ファイルをコンパイルすると、emacs は次のように表示します:</p>

コンパイル プロセスが実行中です。強制終了しますか?(y または n)。

しかしy、効果はありません。Emacs でアクティブなプロセスを強制終了するにはどうすればよいですか? プロセスリストには実行中のプロセスが多数あります。

4

1 に答える 1

4

よりシンプルでインタラクティブなソリューションがあるかどうかはわかりませんが、elisp を少し使用すると、次の方法でプロセス情報のバッファを取得できます。

(list-processes)

汎用の kill-all 実行中プロセスが必要な場合、簡単な例は次のようになります。

(mapcar 'delete-process (process-list))

(ここでは of を使用したことに注意してprocess-listください)。

リストプロセスバッファに表示されている名前で特定のプロセスを削除する場合:

(delete-process (get-process "name of proc"))

これをインタラクティブにする簡単な方法を次に示します (IDO を使用しない場合は、次のものに置き換えますido-completing-read) completing-read

(defun delete-process-interactive ()
  (interactive)
  (let ((pname (ido-completing-read "Process Name: " 
                    (mapcar 'process-name (process-list)))))

    (delete-process (get-process pname))))

次に、実行またはキーバインドを実行delete-process-interactiveして、迷子になったプロセスを整理します。

これは解決策ですが、この動作の原因をさらに調査することをお勧めします。他の人からの支援が必要な場合は、より多くの情報を提供する必要があります。

于 2012-07-20T05:42:02.607 に答える