我试图得到一个for
循环,它只会根据规则列表执行线程波动性 yara 扫描模块。每个核心每个规则一次扫描。基本上,它应该采用当前运行的 vol.py 进程数并检查核心数并最大化正在运行的进程。
但是,当我运行它时,它会为每个规则生成一个波动过程,而不仅仅是 4 个(基于我的核心数)的最大值。对这里语法的任何帮助都会很棒。
目前我有这个:
count=$(ps aux | grep vol.py | wc -l)
cores=$(cat /proc/cpuinfo | grep processor | wc -l)
for x in $(cat $rules_path/rules.txt)
do
if [ $count -lt $cores ]; then # we are under the limit
echo $x
vol.py -f /home/cuckoo/.cuckoo/storage/analyses/12/memory.dmp --profile=Win7SP1x64 yarascan --yara-file=$rules_path/allrules/$x --output=text --output-file=$out_dir/$x.log &>/home/$name/Desktop/error.txt &
else
wait
fi
done