Можно отправить SIGUSR2 работающему экземпляру clamd для перезагрузки подписей.
Но как я могу (по сценарию) определить, были ли подписи перезагружены? Я, конечно, могу попробовать "сон 30", которого будет достаточно в большинстве случаев (исходя из моего опыта), но есть ли подход, основанный на сценариях, помимо попытки проанализировать файл журнала?
Выяснил:
#!/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"