#!/bin/bash
#无线缘分圈评论异步执行代码
# 开始时间
start_time=`date +'%s'`
# 脚本执行的时间间隔
script_time=${1:-1}
cur_dir=$(cd `dirname $0`; pwd) #获取当前路径
cur_file="$cur_dir/check_comment_wireless.sh"
php_file="$cur_dir/check_comment_wireless.php"
cpucount=`cat /proc/cpuinfo|grep processor|wc -l` #获取cpu的核心数
echo "$cpucount 核心"
# 执行时间
timediff=0
function get_timediff(){
now_time=`date +'%s'`
let "timediff=$now_time-$start_time"
return 0
}
echo "开始执行"
#进程的代码Z(进程执行 60秒后自动结束)
while [ $timediff -lt 55 ]
do
#记录本次循环开始时间
# echo "Queue filter start - `date +'%Y-%m-%d %T'`"
num="`ps aux | grep "$php_file" | grep -v grep | wc -l`" #获取php进程数
if [ $num -lt $cpucount ];then #防止php进程数大于cpu的进程数
#执行任务
/usr/local/php/bin/php $php_file &
else
echo 'php进程已满'
sleep 0.5
fi
echo $num
sleep $script_time
# echo "Queue filter end - `date +'%Y-%m-%d %T'`"
#计算和时间间隔的差距
get_timediff;
echo $timediff
#exit 0
done
echo "执行完毕"
exit 0
神回复
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。