我只想在emacs服务器运行时在我的init文件中执行一些代码(特别是如果emacs是以--daemon标志启动的话).似乎没有任何钩子在server-start被调用时运行,并且没有变量我可以查看服务器是否正在运行.
黑客是使用(featurep 'server),因为服务器功能没有加载,除非服务器启动,这似乎适合我的目的,但我想知道正确的方法是什么.谢谢.
Gil*_*il' 16
如果服务器进程正在运行,则关联的进程对象是server-process.测试if是否server-process为nil告诉你服务器是否应该运行; 您可以测试其状态以检查它是否处于可接受状态.
(and (boundp 'server-process)
(memq (process-status server-process) '(connect listen open run)))
Run Code Online (Sandbox Code Playgroud)
您可以测试是否将Emacs作为守护程序调用(daemonp).