我有一个基本的Web服务器,我是从mochiweb框架生成的。为了启动它,我使用框架自动生成的start.sh
脚本。一切正常,服务器启动。现在我还有一个mochiweb服务器,我想从第一个开始。同样,这与它的start.sh
脚本完全独立启动。
所以我所做的是创建一个脚本,将此脚本中的两个mochiweb服务器的启动脚本作为后台进程调用,如:
serverOne/start.sh &
serverTwo/start.sh &
当我运行脚本时,两个服务器似乎都正常启动,但是在启动后,它们似乎立即收到EXIT信号并关闭。我有一种感觉这是由于操作系统(ubuntu)终止主脚本文件生成以运行两个启动脚本的进程。或者还有其他原因吗?我该怎么做才能解决这个问题?如何使用单个脚本文件启动两个服务器?
现在脚本文件退出,最后一行说:
(nodeServer1@MyServ)1> *** Terminating erlang (nodeServer1@MyServ)
.
.
.
(nodeServer2@MyServ)1> *** Terminating erlang (nodeServer2@MyServ)
答案 0 :(得分:0)
搞定了!
我在mochiweb框架生成的启动脚本中添加了-noshell
参数。现在我可以从另一个脚本运行两个启动脚本而不会出现问题。之前的问题是我猜它启动了erl shell,它在Web服务器启动后立即终止,最终也关闭了mochiweb服务器。