确保 epmd 已启动

2023-12-07

我有一个 eunit 测试,它生成唯一的节点名称并开始分发:

{A,B,C} = now(),
Nodename = list_to_atom(lists:flatten(io_lib:format(
    "test-~b-~b-~b@localhost", [A, B, C]))),
{ok, _} = net_kernel:start([Nodename, shortnames]),

只要分布式 Erlang 节点之前在机器上运行过,并且 epmd 仍在运行,那么这种方法就可以正常工作,但在构建服务器上我不能假设是这种情况。

我通过将其添加到我的测试中解决了这个问题:

_ = os:cmd("epmd -daemon"),

但感觉就像是黑客攻击。有没有更好/更好的方法来确保 epmd 在运行之前启动net_kernel:start?


不,您无法确保 EPMD 以更干净的方式启动。

TL;DR

EPMD 是一个外部程序,用C实现。同时net_kernel:start/1照顾创造net_sup导师,它实际上并不会触发 EPMD 守护进程,这一点必须明确说明。我查看了 EPMD 是如何启动的-sname选项指定在erl命令和 - 惊讶,惊讶 - 我发现the epmd程序是通过启动system() C call.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

确保 epmd 已启动 的相关文章

  • Erlang 生成问题

    我在 erlang 中遇到了 spawn 问题 似乎进程在一段时间后就死掉了 这是简单的代码 module simple export server 1 client 1 owner 1 spawn n 2 start 1 main 1 s
  • Erlang停止gen_server

    我有 gen server start UserName gt case gen server start global UserName player of ok gt io format Player UserName started
  • 如何返回元素的个数?

    我必须编写一个函数 它接受一个整数列表作为参数并返回列表中小于 1 的整数的数量 到目前为止 我所拥有的是一个仅返回列表中的整数个数的函数 我不确定应该在哪里 是否放置 if 语句和计数器以仅返回有多少个整数小于 1 export num
  • 使用字符串将 Erlang 映射编码为 JSON 以便通过 Javascript 进行解析?

    我正在尝试使用 Erlang 地图 例如 breakfast gt leftovers 并编码为 JSON 映射 例如 我尝试使用 jiffy 转换列表 email protected cdn cgi l email protection
  • 在erlang中打印数字的每个数字的问题

    我正在尝试编写一个程序 该程序将读入一个数字 然后将该数字的每个数字输出到列表中 然而 在我尝试使用数字 8 和 9 之前 大多数事情看起来都很好 该程序仅输出 b t反而 如果输入的数字包含8或9 同时还有其他数字 例如283 就可以正常
  • 检查 Erlang 中的活动计时器

    有没有一种简单的方法来获取所有当前等待的计时器的列表erlang send after erlang apply after等在Erlang中 出于调试目的 您可以使用dbg 首先创建一个 ets 表来存储所有计时器引用 1 gt ets
  • Erlang 更好地支持哪种数据库(SQL)?

    你建议我在 Erlang 中使用什么 MySQL 还是 Postgres 哪个数据库有更好 更成熟 更稳定 更快 的 Erlang 驱动程序 The Erlang ODBC 接口 http erlang org doc apps odbc
  • 拦截登录/注销ejabberd

    我想知道用户何时在自定义模块中的 ejabberd 会话中登录和注销 而不更改 ejabberd 代码 我需要它 因为我必须在用户登录时执行一些操作 并清理用户注销时执行的操作 另外 在某些情况下我需要能够注销用户 那么 有没有办法扩展某些
  • 如何修改erlang中的记录?

    我需要修改操作记录中的值 place 和 other place op action walk from place to other place preconds at place me on floor me other place p
  • 如何限制Erlang VM(BEAM)使用的核心数量?

    我正在具有 2 个四核 Xeon E5520 2 2GHz 24 0GB RAM 和 Erlang R15B02 启用 SMP 的节点上运行实验 我想知道是否可以限制Erlang VM使用的核心数量 以便我可以暂时禁用一些核心并逐步增加数量
  • Erlang 中的接受器池和负载平衡?

    From http www erlang org doc man gen tcp html accept 1 http www erlang org doc man gen tcp html accept 1 值得注意的是 accept 调
  • 在 Erlang shell 中加载项目 Rebar 依赖项的简单方法

    我有一个使用 Rebar 作为构建工具的项目 开发时 我希望 Rebar config 中指定的所有应用程序依赖项都能尽可能轻松地编译并加载到 shell 中 我在 Emacs 中使用 Erlang shell 有什么快速方法可以做到这一点
  • 在 Erlang 中是否有一种惯用的方法来对函数参数进行排序?

    似乎列表模块中的不一致 例如 split 将数字作为第一个参数 将列表作为第二个参数 而 sublists 将列表作为第一个参数 将 len 作为第二个参数 好的 讲一下我记得的一些历史以及我的风格背后的一些原则 正如克里斯蒂安所说 图书馆
  • 调用函数时Erlang“未绑定变量”

    我正在尝试将整数参数 N 传递给cake并返回一个大小为 N 的 2 的平方列表 为了示例 例如面包店 蛋糕 3 gt 4 4 4 这是我到目前为止所做的尝试 module bakery export cake 1 Foo fun X gt
  • Erlang 中的静态类型检查

    我慢慢地爱上了 Erlang 但只有一个很大很大的问题 我非常喜欢 Standard ML 和 ocaml 等语言 它们具有强大的静态类型检查功能 有没有一种好的 干净的方法来在 erlang 中引入某种静态类型检查 我正在看 type a
  • 在Erlang中,当一个进程的邮箱增长较大时,它的运行速度会变慢,为什么?

    这是示例 test for gen server erl https github com wudixiaotie simple im blob master test test for gen server erl 当一个进程在其邮箱中收
  • 如何连接两个erlang节点?

    有人可以给我更多关于如何连接两个 Erlang 节点的可能性吗 我知道使用 erlang set cookie 2 的一种方法 并且很好奇是否还有另一种方法 1 Use setcookie 您还可以使用 setcookie当erlang执行
  • Erlang:远程调用与发送消息

    我想在远程节点上执行一些过程 我不确定哪种方法是最好的方法 我可以写一个rpc call去做这个 或通过以下方式发送消息Remote call some procedure 到节点来启动程序并使用receive等待回复 那么erlang中哪
  • 为 Couch Base Server 1.8 和 2.0 构建 Erlang 客户端

    我们已经用过沙发基地服务器 http www couchbase com 在我们的产品中 它是一个内联网应用程序 其前端是纯JavaScript 然而我们使用Erlang OTP http erlang org对于业务逻辑 身份验证 Mne
  • F# 在生成和终止进程方面真的比 Erlang 更快吗?

    更新 这个问题包含一个错误 使得基准测试毫无意义 我将尝试一个更好的基准来比较 F 和 Erlang 的基本并发功能 并在另一个问题中查询结果 我正在尝试了解 Erlang 和 F 的性能特征 我发现 Erlang 的并发模型非常有吸引力

随机推荐

  • Wix 安装程序:已安装的服务在启动时无法读取 HKLM 注册表项

    我正在使用 wix 工具 3 11 创建一个安装服务的 msi 安装程序运行自定义操作并将变量返回到 wix 以写入注册表 HKLM 该服务启动并尝试读取注册表 但无法完成并且失败 如果我手动编写注册表 安装程序将完美运行 msi 日志中的
  • 有没有办法缩写自定义类类型声明?

    有没有办法为以下内容创建缩写或自定义类名 Dictionary
  • SciPy 和 NumPy 之间的关系

    SciPy 似乎在其自己的命名空间中提供了大部分 但不是全部 1 NumPy 的函数 换句话说 如果有一个名为numpy foo 几乎可以肯定有一个scipy foo 大多数时候 两者看起来完全相同 甚至经常指向同一个函数对象 有时 它们是
  • 在 Swift 中使用 AVAudioPlayer 播放远程 mp3 文件

    我是 Swift 新手 但我想更改视图控制器以在 iOS 应用程序中播放远程 mp3 文件 我开始使用此代码在本地播放歌曲 并且它有效 之后具有播放器的功能 import AVFoundation class Music1ViewContr
  • Maven 依赖项未复制到 Eclipse 中的 WEB-INF/lib 中

    我在 Eclipse 中有一个 Maven Web 项目 准确地说是 Spring Tool Suite 由于某种原因 我的 Maven 依赖项最终没有出现在 WEB INF lib 中 所以我遇到了各种运行时错误 这是上周起作用的 我不确
  • 节点版本不会使用 n 更新

    为了提供一些背景信息 我使用这篇 Medium 帖子设置了我的机器 不要使用sudo with npm still 我使用安装节点brew大约一年半前 安装了 v12 18 1 我也安装了n当时使用brew 但直到现在才需要更改版本 My
  • R 控制台是德语,如何将 R 设置为英语? [复制]

    这个问题在这里已经有答案了 我在 Windows 8 上使用 R 如果我在 RStudio 中运行 R 控制台会以德语显示错误消息 由于多种原因 这是不可取的 我希望 R 是英语 我在这里发现了同样的问题 R 控制台是我的母语 如何将 R
  • 用于初始化的日期格式

    在 VBScript 中 我需要用日期初始化变量 在我的国家 我们通常使用以下格式指定日期 日月年 这是我试图在 VBScript 中执行的操作 Date 07 06 1973 MsgBox FormatDateTime Date vbLo
  • 两个字段注释的乘积

    目前我的 Django 应用程序中有一行如下所示 db execute SELECT SUM price qty FROM inventory orderline WHERE order id s self id 我宁愿通过 Django
  • Windows Phone 8.1 中 UIElement 拖放延迟

    我正在使用ManipulationDelta事件处理程序将一个简单的椭圆拖放到屏幕上的画布中 我在几个地方使用在线发布的标准方法 以下是我的事件处理程序中的代码 Ellipse dragableItem sender as Ellipse
  • 如何在C#中从x509证书获取数字签名值

    有谁知道如何使用 C 从 x509 证书获取数字签名值 实际上位于 x509Store 中 而不是从文件中验证 并在文本框中显示它 我知道 GetRawCertDataString 返回整个 x509 证书的原始数据 其中包括最后一行的数字
  • 使用 UIWebView 上传照片

    我想直接从 UIWebView 上传照片 该视图具有用于文件上传的 HTML 表单 当我单击按钮时 我会看到拍照或选择现有照片的选项 但是当我单击这两个选项中的任何一个时 我得到 警告 尝试呈现
  • 在Python中定义名称

    我很困惑为什么我的程序不起作用 我应该使用嵌套的 if 来询问人们的姓名和头衔 医生 女性 男性 然后打印出女士姓名 先生姓名或医生姓名 如果有人知道我遇到的问题 请回复 name input Enter your name title i
  • 从不寻常的 svn 目录结构迁移到 maven?

    与 正常 svn 目录结构相反 我使用以下结构 trunk project1 project2 project3 branches project1 branch project1 project2 project2 branch proj
  • DatePicker 无法在 ajax 加载的页面中工作

    我将日期选择器附加到全局脚本文件中的输入 如下所示 document on focusin datePick function this datepicker dateFormat dd mm yy changeMonth true cha
  • 查询网格内的点 Maya python api

    我试图找出一种计算世界空间点是否位于任意网格内部的方法 如果它不是立方体或球体 我不太确定如何计算它的数学 任何帮助都会很棒 人们可以使用一种简单的光线追踪技巧来测试您是在形状的内部还是外部 事实证明 2D 3D 对象甚至可能更高维度的对象
  • 表 [表名] 未锁定

    我正在编写一个锁定表的 MySQL 查询 LOCK TABLE table 1 WRITE 之后 我正在执行一些函数 并且在其中一个函数中 我正在另一个未锁定的表上执行另一个查询 SELECT FROM completely differe
  • 可以将其作为 SQL Server 作业吗?

    我有一个文件夹 其中包含用于使用徽章的图像 我有另一个文件夹 其中包含图像的重命名版本 该文件夹位于另一台计算机上 我需要创建一个过程来复制和重命名找到的任何新图像 名称之间的映射位于 SQL Server DB 中 将其创建为 SQL S
  • 使用 CMake 检测 Qt5

    我正在尝试在 Ubuntu 上安装和使用 Qt 5 为我的需要 Qt 5 的项目运行 CMake 会导致 The C compiler identification is GNU 4 8 4 The CXX compiler identif
  • 确保 epmd 已启动

    我有一个 eunit 测试 它生成唯一的节点名称并开始分发 A B C now Nodename list to atom lists flatten io lib format test b b b localhost A B C ok