`
xumingyong
  • 浏览: 182349 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

erl_call erlang cnode 功能强大

阅读更多

otp_src_R11B-5\lib\erl_interface\src\prog\erl_call.c 是个不错的工具, 就是ei的前端能够通过cnode给erlang的后端发各种请求。


  where: -a  apply(Mod,Fun,Args) (e.g -a 'erlang length [[a,b,c]]'
         -c  cookie string; by default read from ~/.erlang.cookie
         -d  direct Erlang output to ~/.erl_call.out.<nodename>
         -e  evaluate contents of standard input (e.g echo "X=1,Y=2,{X,Y}."|erl_call -e ...)
         -h  specify a name for the erl_call client node
         -m  read and compile Erlang module from stdin
         -n  name of Erlang node, same as -name
         -name  name of Erlang node, expanded to a fully qualified
         -sname name of Erlang node, short form will be used
         -q  halt the Erlang node (overrides the -s switch)
         -r  use a random name for the erl_call client node
         -s  start a new Erlang node if necessary
         -v  verbose mode, i.e print some information on stderr
         -x  use specified erl start script, default is erl


使用方法 :

1.   erl -name xx@192.168.0.98 启动后端

2.  export EI_TRACELEVEL=6

    i.    erl_call -v -d -n xx@erl98.3322.org -m  模块方式 ( -v -d 调试和verbose模式)
    如:
          -module(a).
   
   CTRL+D

    II.  erl_call -v -d -n xx@erl98.3322.org -e 表达式方式
       1+2.
    CTRL+D

    III.   erl_call -v -d -n xx@erl98.3322.org -a 'erlang length [[a,b,c]]'

    这2中都是从stdin读 直到你按下CTRL+D, 然后你就可以看到结果。

这只程序内存有泄漏
*    Note: We don't free any memory at all since we only
 *    live for a short while.  
而且 erl_call.c有bug  812行 free(mbuf);            /* Allocated in read_stdin() */ 
注释掉这行就可以了 

这个程序默认是不安装带标准发布目录去的。

从这个程序 我们可以知道cnode 能作的事情受限于你的想像力。

注:
ping erl98.3322.org
PING erl98.3322.org (192.168.0.98) 56(84) bytes of data.
由于erl_call程序有点小问题  -n xx@erl98.3322.org 最好用域名 否者erl_call就抓狂了。</nodename>

分享到:
评论

相关推荐

    erl_nif 扩展erlang的另外一种方法

    通过`erl_nif`,开发者可以充分利用Erlang的并发特性,同时利用C语言的效率,创建出性能强大且功能丰富的Erlang应用。不过,使用NIFs也带来了复杂性,比如增加了代码维护的难度,以及可能破坏Erlang的容错性和并发...

    erlang版本的protobuf(erl_protobuffs)

    3. **集成性**:由于Erlang主要用于构建分布式系统,`erl_protobuffs`的设计考虑到了Erlang的通信模型,使得与其他Erlang进程的交互更为流畅,尤其适合处理大规模并发场景下的数据交换。 **使用erl_protobuffs** 1...

    Erlang_CNode用户指南

    总的来说,Erlang的CNode功能为开发者提供了一种强大的工具,结合了Erlang的并发特性和C语言的高效性,使得构建复杂的分布式系统变得更加容易。理解和熟练运用CNode,将极大地拓宽你的技术视野和解决问题的能力。

    Erl_B表查询小工具

    Erl_B通常指的是Erlang B模型,这是一个在电信行业中广泛使用的数学模型,用于估算交换机或网络节点的容量需求。在理解这个工具之前,我们先来了解一下Erlang B模型的基本概念。 Erlang B模型是基于概率论的,用于...

    erl_gm:Erlang GraphicsMagick包装器

    `erl_gm` 是Erlang对GraphicsMagick的强大封装,使得Erlang和Elixir开发者能够利用其丰富的图像处理功能。通过使用`erl_gm`,可以在Erlang系统中高效地处理图像,同时保持语言的并发性和分布式优势。`erl_gm-master`...

    erl_to_html:使用解析转换和erl_id_trans.erl将erlang代码转换为跨度为_everything_HTML

    erl_to_html 使用解析变换和erl_id_trans.erl Erlang的代码转换为HTML,跨度的一切。...我不知道我需要怎么做许可证,但是由于我是从Erlang示例代码中复制erl_id_trans.erl,因此我正在使用Erlang公共许可证。

    erlang-erl_interface-19.3.6.4-1.el7.x86_64.rpm

    erlang-erl_interface-19.3.6.4-1.el7.x86_64.rpm

    erl_nif_rustler_过程宏写法

    本篇主要介绍如何利用Rust语言来开发Erlang NIF,并探讨`erl_nif_rustler`的过程宏写法。 首先,`erl_nif_rustler` 是一个库,它简化了在Rust中编写Erlang NIFs的过程。Rust以其类型安全和内存管理特性,成为构建...

    erl_aliases:为 Erlang 记录和模块名称定义(较短的)别名

    erl_aliases是一个 Erlang 解析转换库,它提供了一个简单直接的接口,用于为(较长)记录和模块名称定义(较短)别名。 定义后,可以使用别名代替原始名称。 基本原理 全局 Erlang 记录和模块名称往往相对较长。 长...

    erlang-erl_docgen-19.3.6.4-1.el7.x86_64.rpm

    erlang-erl_docgen-19.3.6.4-1.el7.x86_64.rpm

    erl_embedded_redis:用于Erlang的嵌入式Redis服务器

    {erl_embedded_redis, ".*", {git, "https://github.com/gossiperl/erl_embedded_redis.git", {tag, "3.0.3"}}} ]}. rebar get-deps compile 直接从终端 git clone git://github....

    驻波比换算工具,Erl_B表等

    "小工具"可能是包含上述功能的软件包或集合,可能包括各种实用的小型应用程序,如驻波比计算器、Erl_B查询工具和功率换算器。这样的工具集大大简化了工程师的工作,使他们能够快速准确地进行通信系统的设计和故障...

    erlang-sd_notify-1.0-2.el7.x86_64.rpm

    erlang-sd_notify-1.0-2.el7.x86_64.rpm

    erl_reabitmq-server 配套安装包.zip windows安装

    标题中的"erl_reabitmq-server 配套安装包.zip"是一个包含Erlang环境和RabbitMQ服务器的Windows安装包。Erlang是一种专门设计用于构建大规模并发系统的编程语言,而RabbitMQ是一个基于AMQP(Advanced Message ...

    erl_migrate:升级降级架构和迁移erlang应用程序数据库的数据的工具

    erl_migrate 升级/降级架构和迁移erlang应用程序数据库数据的工具 安装 运行make deps以安装depident 运行make来编译代码 用法 参数Options数据结构是map 创建迁移src文件 Args = #{ schema_name =&gt; mhs, ...

    erl_unused_includes

    erl_unused_includes.sh 版权所有 (C) 2014 Klarna AB。 这是一个 shell 脚本,可以用作 Erlang erlc 编译器的包装器,它通过多次编译文件并只保留编译工作实际需要的那些包含声明来消除源文件中不必要的包含声明。 ...

    erl_default:一个不错的user_default.erl以及您在erlang项目中可能需要的其他东西

    错误默认该项目旨在包括大量用于调试,开发和测试erlang项目的帮助程序。user_default user_default是一个文件,可以在其中调用所有导出的函数而无需从外壳程序获取模块前缀的情况。 有关user_default的文档,请在...

    erl_protobuffs:Google的Erlang协议缓冲区的实现,基于bashoerlang_protobuffs

    erl_protobuffs Google的Erlang协议缓冲区的实现,基于 。 该模块是其他开源模块和原始代码的组合,使与 Protocol Buffers 协议的接口变得容易。使用 .proto 文件该模块的主要目标是让开发人员能够轻松使用 .proto ...

Global site tag (gtag.js) - Google Analytics