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

如何在Windows上编写自动化脚本实现Node和GO项目定时自动重启

定时重启Node/Go项目的可行方案

方案1:Linux/macOS 原生crontab + 自定义脚本(轻量化无额外依赖)

  • 第一步:编写重启脚本
    先确认两个项目的进程特征、部署路径和启动命令,新建restart_services.sh脚本,参考内容如下:
#!/bin/bash
# 重启Node项目
pkill -f "你的Node进程关键词,比如node main.js"
cd /替换为你的Node项目实际部署路径
nohup npm run start > ./service.log 2>&1 &

# 重启Go项目
pkill -f "你的Go二进制文件名,比如go_app"
cd /替换为你的Go项目实际部署路径
nohup ./go_app > ./service.log 2>&1 &

给脚本添加执行权限:chmod +x restart_services.sh,手动执行一次验证两个项目可以正常重启,没有路径或权限报错。

  • 第二步:配置定时任务
    执行crontab -e打开定时任务编辑界面,添加如下两行规则即可实现每日早8点、晚8点自动执行重启脚本:
0 8 * * * /你的脚本存放路径/restart_services.sh
0 20 * * * /你的脚本存放路径/restart_services.sh

保存退出后定时规则自动生效。

方案2:Windows系统 任务计划程序 + 批处理脚本

  • 第一步:编写批处理脚本
    新建restart_services.bat文件,参考内容如下:
@echo off
:: 结束Node进程并重启
taskkill /im node.exe /f
cd /d 你的Node项目路径,比如D:\node_project
start npm run start

:: 结束Go进程并重启
taskkill /im 你的Go二进制文件名.exe /f
cd /d 你的Go项目路径,比如D:\go_project
start 你的Go二进制文件名.exe
  • 第二步:配置定时任务
    打开系统自带的「任务计划程序」,新建任务:触发器设置为每天8:00、20:00各触发一次,操作设置为「启动程序」,选择刚才编写的bat脚本,保存后即可生效。

进阶优化方案

如果需要解决非定时时段的进程异常崩溃问题,可配合进程守护工具管理项目:

  • Node项目可以用pm2工具,自带崩溃自动重启功能,执行命令pm2 start 你的Node入口文件.js --cron "0 8,20 * * *"即可一步实现定时重启+异常拉活。
  • Go项目可以用systemd或supervisor管理,配置自动重启规则的同时也可添加定时重启配置,还能统一收集、查看项目运行日志,稳定性高于原生定时任务。

内容的提问来源于stack exchange,提问作者Devin Y

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:09:00