linux定时任务如何每隔0.5秒执行一次呢?
天蓬老师
天蓬老师 2017-04-17 12:06:47
0
8
911

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

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(8)
Ty80
* * * * * 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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!