lixmet
lixmet
发布于 3个月前

Crontab 同一时刻保证一个任务只执行一次 (类似于单例模式)

防止上一次运行的程序还没执行完,又运行了一次,一个任务在同一时刻执行多次

  • 单个任务

    #!/bin/bash
    spider="/home/www/wechat/spider"
    count=$(ps -ef | grep $spider | grep -v grep | wc -l)
    [[ $count -eq 0 ]] && php $spider crawl
  • 批量任务

    #!/bin/bash
    spiders=("/home/www/wechat/spider" "/home/www/toutiao/spider")
    for spider in ${spiders[*]}
    do
    count=$(ps -ef | grep $spider | grep -v grep | wc -l)
    [[ $count -eq 0 ]] && php $spider crawl &
    done