You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Elixir中运行无限任务并让mix run不退出持续执行

原因说明

mix run 命令的默认行为是完成应用启动流程后直接终止主进程,不会持续驻留。而 iex -S mix 会启动交互式Shell维持会话进程,因此应用可以持续在后台运行。

解决方案

方法1:单次运行添加参数

直接执行带 --no-halt 标记的命令即可:

mix run --no-halt

该标记会指示Mix启动应用后不终止主进程,你的计数器任务就会持续运行输出。

方法2:配置默认参数(可选)

如果不想每次运行都手动输入参数,可以在 mix.exs 的 project 配置块中添加别名配置:

def project do
  [
    # 保留你原有的项目配置(app、version、elixir等配置项不变)
    aliases: [
      run: "run --no-halt"
    ]
  ]
end

配置完成后直接执行 mix run 就会默认带上 --no-halt 参数,保持应用持续运行。

额外说明

如果是生产环境部署,建议打包为OTP release运行,release本身默认就会持续驻留进程,不需要额外添加上述参数。

内容的提问来源于stack exchange,提问作者Yevhen Yevsyuhov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:24:04