是否有直接的elisp方法来检查进程是否在emacs术语缓冲区中运行?

时间:2011-11-28 05:35:36

标签: emacs process elisp

我需要检查一个进程是否仍在我的emacs术语中运行;通过(term "/bin/bsh")启动,然后重命名为,例如。 term-A

我已经尝试了(term-check-proc "term-A"),但它没有显示我需要什么,或者至少,我看不出我如何使用它。

如果有多个ps afx处于活动状态并运行相同的程序,那么尝试通过对emacs term(或类似程序)的shell调用来追查它是有问题的(在我的情况下,很可能)......

我真的需要知道特定emacs术语缓冲区,term-A中的进程是否正在运行。

1 个答案:

答案 0 :(得分:4)

您可以使用get-buffer-process获取缓冲区的过程:

(get-buffer-process "*shell*") -> #<process shell>
(get-buffer-process "*scratch*") -> nil

我退出*shell*中的shell后,我也得到nil该缓冲区。