如何在固定的时间内运行程序?

Teq*_*ue5 7 command-line scripts timeout

我正在寻找一种内置于 ubuntu 的方法,它可以让我在固定的时间段内运行脚本或程序或其他任何东西。

我找到了一个以我喜欢的方式执行此操作的程序,但该软件包不适用于 Ubuntu。无论如何,我希望有一些内置的东西。

我唯一能想到的就是获取当前时间并设置一个从“现在”开始 30 分钟的 cron 作业,这将终止程序。我希望有一种方法可以在不设置脚本的情况下做到这一点,但如果我需要 - 这不会是世界末日。在 30 分钟间隔后,我想将我的笔记本电脑置于睡眠模式,但这可以与计时器分开。

提前致谢。

wal*_*tor 15

为什么不使用/usr/bin/timeout

$ timeout --help
Usage: timeout [OPTION] DURATION COMMAND [ARG]...
  or:  timeout [OPTION]
Start COMMAND, and kill it if still running after DURATION.
Run Code Online (Sandbox Code Playgroud)


Ada*_*tek 14

我刚刚写了以下内容,它似乎有效:

ping google.com& PID=$!; sleep 3; kill $PID
Run Code Online (Sandbox Code Playgroud)

当然,您应该将 ping 替换为要运行的命令,并将 3 替换为超时(以秒为单位)。如果您需要更详细的解释它是如何工作的,请告诉我。