Se puede enviar SIGUSR2 a una instancia clamd en ejecución para recargar las firmas.
Pero, ¿cómo puedo (desde un script) determinar si las firmas se han recargado? Por supuesto, puedo probar "dormir 30", que será suficiente en la mayoría de los casos (según mi experiencia), pero ¿existe algún enfoque basado en script además de intentar analizar el archivo de registro?
Respuesta1
Descubrí:
#!/bin/bash
echo RELOAD | socat - /var/run/clamav/clamd.ctl
seconds=0
while : ; do
output=`echo PING | socat - /var/run/clamav/clamd.ctl`
if [ "$output" == "PONG" ]; then
break
fi
sleep 1
seconds=$[$seconds+1]
done
echo "reloaded after" $seconds "seconds"