私はfor
ループを取得しようとしていますが、スレッドのボラティリティyaraスキャンモジュールはルールリストに基づいて実行されます。 1コアにつき1ルールにつき1スキャン。基本的には、実行中の現在の数の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
あなたは 'count'を' vol.py'プロセスの数の現在の指標にしたいと思います。しかし、あなたはこれを最初に一度だけ測定します。ループ内でもう一度やりたいと思うでしょう。 – slim
ああ、大丈夫です。変数をfor文またはif文の内部に配置しますか? – JohnFowles