yanglin提出:
连接到服务器运行如下:
/usr/local/erlang/bin/erl -name groups@xxx.com -setcookie 123456 -noshell -pa "/var/www/erlang" -s Mod Fun &
但我的连接工具断开连接后不久,服务就自动关闭了,这是什么原因呢?
(我没有在shell下遇到这个问题-langxianzhe)
Feng Yu回答:
你的ssh断开,等于进程组killed,所有的子进程都被kill,包括erl.
你可以用erl -detached 来脱离终端.
呵呵,忘了还有 -detached 这个参数了。还有一个办法是
run_erl -daemon ....
我的疑问:
我在客户端ubuntu下 没有用用erl -detached 参数 一样来脱离终端.
我有个问题就是在 wiki自动部署的时候,
调用简单的erl -noinput lxw@langzhe 脚本都会出问题。
现象:1. 脚本始终没有返回执行完毕给wiki
2. ps -A |grep beam 查看服务器进程发现 进程号后面有问号。如:3452?
请问这是什么原因? 请指教 谢谢。
(我现在怀疑wiki的问题,但wiki我看不了)
Feng Yu回答:
Erlang程序要运行必须有虚拟机,也就是erl启动的beam, 那么这个beam进程必须一直运行着。 这就是为什么你能ps到。 换句话说, 也就说你的erlang程序在跑的话, erl这个程序是一直在跑的,不会退出的。
每个进程都有个父进程,beam也是。 你在shell下启动,那么它的父进程就是bash. 你把终端关掉了,shell被杀, 子进程也被杀。所以虚拟机就不见了。
能够脱离这种关系的就是通过daemon或者nohup方式,脱离终端。
我的疑问:
一、谢谢你的解释,我试了一下。 在查看进程的时候,为什么有问好(?)。看着有“?”就不舒服。如下:
root@jasson:/home/langzhe/.tsung/log/20100712-01:50# erl -detached
root@jasson:/home/langzhe/.tsung/log/20100712-01:50# ps -A |grep beam
18637 ? 00:00:00 beam.smp
Feng Yu回答:
用pstree -p 看下就清楚了,还有洁癖比较严重。
我的问题有答案了
仔细想了想 添加上 -detached 参数 同样可以解决 我的问题。
分享到:
相关推荐
Erlang是一种高级编程语言,特别适用于并发、分布式和实时计算系统。它的设计目标是创建一个高度可靠且容错的环境,广泛应用于电信、金融、在线游戏和消息队列服务等领域。Erlang由爱立信开发,其核心概念包括进程...
此外,Erlang具有强大的热代码替换功能,可以在不中断服务的情况下更新运行中的代码,这对于需要持续运行的服务器如RabbitMQ来说至关重要。 RabbitMQ的安装通常需要先确保系统中有Erlang环境,因为它是RabbitMQ运行...
Erlang是一种高级编程语言,特别为并发、分布式计算和容错设计,广泛应用于网络通信、实时系统和大型分布式计算环境中。最新版的Erlang是23.3.4.3-1.el7.x86_64.rpm,这个版本针对CentOS 7进行了优化。Erlang以其轻...
Erlang是一种高级编程语言,特别为并发、分布式和实时计算设计,由Ericsson公司开发,主要用于构建大规模、高可用性的系统。在标题"erlang-22.3-1.el7.x86_64.rpm"中,我们可以解读出几个关键信息: 1. **版本号**...
erlang-20.3-1.el7.centos.x86_64.rpm
erlang-erts-19.3.6.4-1.el7.x86_64.rpm
erlang-xmerl-22.3-1.el7.x86_64.rpm,rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。
erlang-xmerl-23.0.2-2.el7.x86_64.rpm,rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。
安装rabbitmq需要适配相应的erlang,由于下载速度慢,这里提供了centos7 64系统下可用的erlang23和rabbitmq3.8.3,安装方式:yum install xxxx.rpm即可。注意要优先安装erlang。
erlang-21.3.8.11-1.el6.x86_64.rpm
erlang-24.0.3-1.el8.x86_64.rpm资源
esl-erlang-compat-R14B-1.el6.noarch.rpm
erlang-24.3.3-1.el9.x86_64.rpm centos
erlang-solutions-1.0-1.noarch.rpm erlang-solutions-1.0-1.noarch.rpm
标题中的"erlang-19.0.4-1.el7.centos.x86_64.zip"揭示了我们讨论的是Erlang的一个特定版本——19.0.4,该版本针对的是Linux发行版CentOS 7的64位架构。Erlang的版本号通常包括主要版本号、次要版本号和补丁版本号,...
erlang-19.0.4-1.el7.centos.x86_64.rpm ,官网的正式包
erlang-20.3.8.17-1.el7.centos.x86_64
erlang 安装包。 rabbitmq 安装所需要的
erlang-21.3-1.el7.x86_64.rpm rabbitmq基础语言环境。