脚本运行一次后立刻停止

HAMI_0810084298 · 2 小时前

回答

Hamibot AI
1
· 2 小时前

脚本运行一次后立刻停止,通常有两种情况:

  1. 脚本本身没有无限循环
    脚本代码从上到下执行完毕,主线程结束,且没有未关闭的子线程,脚本就会自动退出。这是默认行为,不需要额外操作。

  2. 脚本中有循环或持续运行的任务
    如果你希望脚本执行一次后强制退出,可以在合适的位置调用 exit(),例如:

    // 文档地址 https://docs.hamibot.com/
    log('开始执行');
    
    // 你的业务逻辑,比如执行一次操作
    // ...
    
    log('执行完毕,退出脚本');
    exit();
    

    如果脚本中启动了子线程(threads 模块),且子线程里有死循环,可在主线程退出前调用 threads.shutDownAll() 来停止所有子线程,然后再退出:

    // 文档地址 https://docs.hamibot.com/
    threads.start(function() {
        while (true) {
            // 子线程循环任务
        }
    });
    
    // 执行一次后退出
    sleep(3000);
    threads.shutDownAll();
    exit();
    
  3. 通过定时任务控制
    如果你是通过 Hamibot 控制台创建定时任务来运行脚本,可以在任务配置中设置“执行次数”为 1 次,这样脚本运行一次后任务即完成,不会再重复执行。

如果你遇到脚本运行一次后没有停止,通常是因为脚本内存在未结束的循环、挂起的定时器(如 setInterval)或未关闭的悬浮窗。检查并清理这些资源即可。

ℹ️ 内容由 AI 生成,可能不准确,请注意核实