Erlang 里面使用Remote shell

本文介绍了一种通过Erlang shell实现不同节点间进程管理的方法,无需使用RPC即可完成节点间的连接、进程中断及终止等操作。示例中演示了如何在一个节点上启动另一个节点并进行交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天无意中发现这个功能。。。

[url]http://ejabberd.jabber.ru/interconnect-erl-nodes[/url]

在下载的 getting_started-5.0.1.pdf 那里也有这个topic:《Advanced Shell Usage - Job Control Mode》,不知道为何官方html格式的文档那里消失了 :?

简单来说是这样,比如节点 foo@192.168.0.2 启动了一个daemon

[quote]erl -name foo@192.168.0.2 -setcookie 123456 -noshell -noinput ...[/quote]

如果要管理它,可以这样:

[quote]# ./start.sh -name bar@192.168.0.3 -setcookie 123456
Erlang (BEAM) emulator version 5.5.4 [source] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.5.4 (abort with ^G)
(bar@192.168.0.3)1>
User switch command
--> h
c [nn] - connect to job
i [nn] - interrupt job
k [nn] - kill job
j - list all jobs
s - start local shell
r [node] - start remote shell
q - quit erlang
? | h - this message
--> j
1* {shell,start,[init]}
--> r 'foo@192.168.0.2'
--> j
1 {shell,start,[init]}
2* {'foo@192.168.0.2',shell,start,[]}
--> c 2
Eshell V5.5.4 (abort with ^G)
(foo@192.168.0.2)1> nodes().
['bar@192.168.0.3'][/quote]

比用什么rpc的方便多了 :P
btw:在Windows下可以使用werl,这样就可以使用Ctrl+G了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值