Erlang 如何通过命令行作为守护进程启动应用程序?
这是我目前的惯例Erlang 如何通过命令行作为守护进程启动应用程序?,erlang,Erlang,这是我目前的惯例 sudo nohup erl -sname foo -pa ./ebin -run foo_supervisor shell -noshell -noinput & 其中shell函数看起来像这样 shell() -> {ok, Pid} = supervisor:start_link({local,?MODULE}, ?MODULE, _Arg = []), unlink(Pid). 如果我不从shell上断开链接,它会因为某种原因立即停止。
sudo nohup erl -sname foo -pa ./ebin -run foo_supervisor shell -noshell -noinput &
其中shell函数看起来像这样
shell() ->
{ok, Pid} = supervisor:start_link({local,?MODULE}, ?MODULE, _Arg = []),
unlink(Pid).
如果我不从shell上断开链接,它会因为某种原因立即停止。有没有一种方法可以让我像平常一样启动我的应用程序ie应用程序:start(foo)。如果我也想开始sasl呢?另外,我在哪里可以了解到有关使用钢筋制作独立软件包的更多信息?前言。关于您的取消链接 在@filippo中,解释了为什么在测试shell中的监控程序时需要取消链接 首先。您需要的是一个新的解决方案。 从文件中读取: 在OTP中,应用程序表示 实现某些特定功能的组件 功能,可以启动和 作为一个单元停止,并且可以 也可在其他系统中重复使用 有关如何实现Erlang应用程序的详细信息,请参阅。您需要做的三件主要事情是:
- 谢谢你的申请
- 编写一个实现Erlang应用程序行为的示例。您将从这里开始您的根主管
- 。这是告诉系统在哪里可以找到应用程序回调模块的地方(查看
参数)mod
...
{applications, [kernel, stdlib, sasl]},
...
让它启动SASL
第三。钢筋。
这里有一个关于钢筋的介绍,它解释了如何使用钢筋在上述步骤中帮助您,将全新的应用程序打包到中,以及如何启动它