我需要在特定日期/时间开始“a.out”。 例如,我想在下午12:10:30开始“a.out”。 任何想法都表示赞赏!
答案 0 :(得分:3)
这就是cron
和/或at
的用途。
由于cron
只有一分钟的分辨率,您可能需要设置一个运行时间为12:09的脚本。
然后,这个脚本将进入一个紧密的循环,检查日期和时间,直到它正好是12:10:30,然后运行你的“真实”代码。
因此,您的cron
条目将是:
9 12 * * * /mydir/myscript
和/mydir/myscript
类似于:
#!/bin/bash
while [[ $(date +%H%M%S) -lt 121030 ; do
sleep 1
done
/mydir/myexecutable
如果你想让它在一天的同一时间运行很多天。对于一次性执行,您仍然可以使用该脚本,但使用at
来运行它(时间字符串为YYYYMMDDhhmm
):
at -f /mydir/myscript -t 201212311209
或者,如果您的at
足够高级,则可能允许-t
选项中的子分钟规范,以便您的包装作业不会停留太长时间(时间字符串{{1} }):
YYYYMMDDhhmm.ss
答案 1 :(得分:2)
这很简单:
at 1210 <<< "sleep 30; /path/to/a.out"
at
命令专门用于在特定时间运行命令。 cron
不同,它专为重复任务而设计。
请参阅man 1 at