【问题标题】:Run batch/bash command repeatedly over a period with pauses in between在一段时间内重复运行批处理/bash命令,中间有停顿
【发布时间】:2014-12-16 13:37:06
【问题描述】:

需要明确的是,我正在寻找在 Windows 命令行(批处理文件)和 bash shell 中的实现。这是我想做的:

  • 运行任务/命令
  • 运行1小时后杀死任务
  • 等待 2 小时,然后重复(循环)

最好使用批处理/bash 中的纯实现。我环顾四周,但未能找到解决方案,而且我是初学者,所以任何正确方向的提示将不胜感激!

【问题讨论】:

  • 我认为您需要一个外部应用程序来执行此操作,通常 linux 上的 cron 和 Windows 任务调度程序非常适合此类任务。它们也经过长期测试

标签: bash shell batch-file cmd


【解决方案1】:

对于批处理版本

@echo off
    setlocal enableextensions disabledelayedexpansion

    for /l %%a in () do (
        start "" myTask.exe
        timeout /t 3600 
        taskkill /im myTask.exe /f
        timeout /t 7200 
    )

创建一个无限循环,重复指定的序列start / wait / kill / waitMore

【讨论】:

  • 谢谢!很抱歉对此的回复晚了,但这很好用。
【解决方案2】:

我认为你可以在 bash 中使用这样的东西:

while true 
do
  sleep 3600
  kill task
done

【讨论】:

  • 是的,你可以!非常感谢。这也是一个正确的答案,但不幸的是我只能将一个标记为正确..
【解决方案3】:

您尝试过使用 cron 吗?您可以创建一个脚本来运行命令,等待 1 小时然后退出,您可以将其设置为每 3 小时运行一次。

【讨论】:

    猜你喜欢
    • 2011-06-21
    • 2011-04-26
    • 2021-11-19
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 2017-07-29
    相关资源
    最近更新 更多