Answers:
这是一种方法:
watch -n 1 'date' &>/dev/null &
由于您已为该过程提供了背景,因此我们可以假设您不需要终端显示,并且可以直接重定向到文件。如果这样做,您将能够watch
毫无问题地获得背景。
sleep
正如Michael Mrozek所建议的那样,将缓慢地滞后,这可能是不希望的。除了监视系统时间并根据经过的时间执行命令的复杂的shell脚本外,watch -p
对于精确计时,它也是一个不错的选择。
对于精确的时间:
watch -n 1 -p 'date' &>/dev/null &
&
两次?
man bash
以了解第一个的&
工作原理。;)
取决于您的动机:
您想定期运行某些内容。然后,您可以直接使用cron。(如果1分钟的时间间隔足以满足您的目的)。
您只想重复运行一些内容:
while sleep 2 ; do
cmd
done >& log.txt
(例如,尽管强烈建议使用脚本,但您可以从crontab中运行该脚本)。
您想定期运行命令并有权访问其最后执行的输出。
您可以将输出写入ramfs(之前修改脚本):
while sleep 2 ; do
cmd >& last_execution.log
done
甚至更好:
while sleep 2 ; do
cmd >& last_execution.log.tmp
mv last_execution.log.tmp last_execution.log ## atomically
done
您可以将screen
和组合在一起watch
,以便始终可以查看最新状态,只要它适合一个屏幕即可:
screen watch -n 3660 ./make-backup.sh