Ich versuche, eine for
Schleife zu erhalten, die nur ein Threaded Volatility Yara Scan-Modul basierend auf einer Liste von Regeln ausführen wird. Ein Scan pro Regel pro Kern. Grundsätzlich sollte die aktuelle Anzahl der laufenden vol.py-Prozesse mit der Kernanzahl verglichen und die laufenden Prozesse maximiert werden.Prozesspool in Bash
Wenn ich das aber ausführe, wird es für jede Regel einen Volatilitäts-Prozess erzeugen und nicht nur das Maximum von 4 (basierend auf meiner Kernzählung). Jede Hilfe mit der Syntax hier wäre großartig.
Zur Zeit habe ich dies:
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
Ich denke, Sie wollen "count" eine aktuelle Angabe der Anzahl der 'vol.py' Prozesse sein. Aber Sie messen das nur einmal am Anfang. Du wirst es innerhalb der Schleife wiederholen wollen. – slim
Ah, okay. Platziere ich die Variable innerhalb der for-Anweisung oder der if-Anweisung? – JohnFowles