标签:后台 nta https div 因此 文件 ram 解决方案 ubunt
没有直接的解决方案。因为在Cron中,最小的时间帧是分钟,不能进行每秒钟执行某个任务。
可以使用systemd Timer,它支持以秒为时间帧来执行任务。
在Cron中,最小的时间帧是分钟。因此可以写一个Shell脚本:在循环中,休眠一秒钟,创建一个后台任务,共计60秒。
创建后台任务是为了不让任务的执行循环执行,否则极可能出现脚本执行时间超过60秒的情况。
与「方案二」类似,创建一个脚本。不同的是脚本的写法:
(sleep 5 && /path/to/task) & (sleep 10 && /path/to/task) & (sleep 15 && /path/to/task) & (sleep 20 && /path/to/task) & (sleep 25 && /path/to/task) & (sleep 30 && /path/to/task) & (sleep 35 && /path/to/task) & (sleep 40 && /path/to/task) & (sleep 45 && /path/to/task) & (sleep 50 && /path/to/task) & (sleep 55 && /path/to/task) & (sleep 60 && /path/to/task) &
上面的示例是每隔五秒中执行,要不要使用这个方案,需要根据自己的需求把握。
「方案二」和「方案三」存在相同的问题:任务越靠后,时延越大,因为即使是放入后台运行也需要消耗时间。
「Cron」- 创建周期任务
「Cron」- 执行日志
「Cron and Anacron」- 杂记
「Cron」- 安装及注意事项
「crontab」- 周期任务的配置文件
Seting cron to run a script every second
How to run scripts every 5 seconds?
systemd as a replacement for cron every 10 seconds
Run timer exactly every second with systemd
systemd.timer — Timer unit configuration
标签:后台 nta https div 因此 文件 ram 解决方案 ubunt
原文地址:https://www.cnblogs.com/k4nz/p/14695595.html