[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SOLVED] Re: How to detect two emacs process in Elisp code?
From: |
address@hidden |
Subject: |
[SOLVED] Re: How to detect two emacs process in Elisp code? |
Date: |
Thu, 3 Sep 2020 10:45:09 +0800 |
Thanks for quick reply. Confirmed it solved my problem. Thanks very much!
[stardiviner] <Hack this world!> GPG key ID: 47C32433
IRC(freeenode): stardiviner Twitter: @numbchild
Key fingerprint = 9BAA 92BC CDDD B9EF 3B36 CB99 B8C4 B8E5 47C3 2433
Blog: http://stardiviner.github.io/
On Thu, Sep 3, 2020 at 10:41 AM Emanuel Berg via Users list for the GNU
Emacs text editor <help-gnu-emacs@gnu.org> wrote:
> stardiviner wrote:
>
> > I load desktop-save-mode session in init.el.
> > But when using "bug-hunter-init-file", I need to
> > exclude this session init file.
> >
> > Here is my try:
> >
> > #+begin_src emacs-lisp
> > ;;; detect external system has Emacs process running?
> > ;;; If yes, like `bug-hunter' is running. Then don't load session.
> > ;;; FIXME
> > (let ((emacs-processes
> > (length (mapcar
> > 'string-to-number
> > (seq-filter
> > (lambda (str)
> > (not (string-empty-p str)))
> > (split-string
> > ;; (shell-command-to-string "ps -C emacs -o pid=")
> > (shell-command-to-string "ps -C emacs -o pid=")
> > "\n"))))))
> > (when (<= emacs-processes 1)
> > (message "init-emacs-session loading")
> > (require 'init-emacs-session)))
> > #+end_src
>
> Try this:
>
> (require 'seq)
> (defun how-many-emacs ()
> (let ((emacs-processes
> (length (mapcar
> #'string-to-number
> (seq-filter
> (lambda (str)
> (not (string-empty-p str)) )
> (split-string
> (shell-command-to-string "ps -C emacs -o pid=")
> "\n") )))))
> (message (format "Emacs process: %d" emacs-processes)) ))
> ;; (how-many-emacs) ; 1
>
> --
> underground experts united
> http://user.it.uu.se/~embe8573
> https://dataswamp.org/~incal
>
>
>