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

如何在Bash中循环执行脚本并在每次运行之间设置1小时间隔

Bash 定时循环执行脚本方案

直接可用的单行命令

你可以直接在终端执行下面这条命令,就能实现你要的需求:

for i in {1..20}; do node RocketLaunch.js; sleep 3600; done

各部分逻辑说明:

  • for i in {1..20} 定义循环总次数为20次,匹配你的执行次数要求
  • 每次循环会先完整执行node RocketLaunch.js,等待脚本运行结束(你的单轮任务耗时5分钟,不会被中途打断)
  • 脚本运行完成后执行sleep 3600,等待1小时后再启动下一轮循环

如果你需要两次脚本启动时间间隔为1小时,扣除脚本本身5分钟的运行耗时,把sleep 3600改成sleep 3300即可。

可重复启动的脚本方案

如果你后续需要经常启动整套执行流程,可以把逻辑封装成独立的Bash脚本,不用每次输入长命令:

  1. 新建run_rocket.sh文件,写入以下内容:
#!/bin/bash
for run_count in {1..20}
do
    echo "第 $run_count 次执行,当前时间:$(date)"
    node RocketLaunch.js
    echo "当前轮次执行完成,等待1小时后启动下一轮"
    sleep 3600
done
echo "全部20次执行任务已完成"
  1. 给脚本添加执行权限:
chmod +x run_rocket.sh
  1. 后续需要启动整套流程时,直接执行以下命令即可:
./run_rocket.sh

实用补充说明

  • 如果你需要关闭终端后任务仍在后台运行,启动时用nohup ./run_rocket.sh &即可,运行日志会自动保存在同目录的nohup.out文件中
  • 前台运行时想终止任务,直接按Ctrl + C即可;后台运行的话可以先执行ps aux | grep run_rocket.sh查询进程ID,再执行kill 进程ID终止任务

内容的提问来源于stack exchange,提问作者Learning Panther

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:06:04