linux 定时任务每5分钟,【linux】linux定时任务如何每隔0.5秒执行一次呢?

求一个例子!!!linux定时任务如何每隔0.5秒执行一次呢?

回答

* * * * * for i in `seq 120`; do awesome_scripts& sleep 0.5; done

由crontab每分钟调度,每次唤起,循环执行120次,间隔0.5秒

由于 crontab 最小单位是分钟,只能自己写程序执行了。给个 shell + python 的例子:

while true ; do ./your-script & ; python -c "import time;time.sleep(0.5)"; done

或者 python + shell:

import time

from subprocess import call

while(True):

call(["./your-script"])

time.sleep(0.5)

没有 linux 所以没有亲测,大概就是这么个思路

用watch

watch -n 0.5 date试试看

windows机器不方便试,大概这样的

#!/bin/bash

for i in {1..120}

do

usleep 500

RUN_YOUR_TASK&

done

用usleep睡半秒,持续一分钟,结合cron就行了

没找到啊。只能到分钟级别,秒都到不了。

还是说说你的使用场景吧

crontab 最短定义只能到分钟,只能用脚本sleep 来完成

以上所有方法,放在linux上执行时,会出一个坑,出现多个进程.

因为若遇到延时,超出60秒后,第二个定时任务启动.就会出现多个进程.

解决方法,加文件锁/usr/bin/flock

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值