clamav - ERROR: /var/log/clamav/freshclam.log está bloqueado por otro proceso?

31

He instalado clamav y quiero actualizar los archivos que usa para identificar virus:

$ sudo freshclam

ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).

¿Qué debo hacer con este error?

EDITAR:

$ sudo lsof /var/log/clamav/freshclam.log

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
freshclam 866 clamav    3wW  REG  259,1   100134 10486045 /var/log/clamav/freshclam.log
    
pregunta laukok 26.04.2017 - 20:12

3 respuestas

39

Respuesta corta:

No tiene que ejecutarlo manualmente porque se ejecutó automáticamente y se ejecuta en segundo plano, es por eso que recibe ese mensaje.

Si desea detener el daemon y ejecutarlo manualmente:

sudo systemctl stop clamav-freshclam.service

ejecutarlo manualmente:

sudo freshclam

¿Qué está pasando y cómo manejarlo?

Cada vez que se encuentre con situaciones similares, errores como file x has been locked o Another process is using this file : /path/to/x , puede usar el comando lsof para averiguar qué proceso está usando ese archivo, en su caso si ejecuta:

sudo lsof /var/log/clamav/freshclam.log

Deberías obtener un resultado como:

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
abc       126   user   3wW  REG  259,1  100          1048 /var/log/clamav/freshclam.log

El abc es el nombre del proceso que está usando ese archivo, en tu caso es: freshclam .

Eso significa que freshclam que desea ejecutar ya ha sido ejecutado por clamav daemons.

puedes usar less /var/log/clamav/freshclam.log o comandos similares para ver qué está sucediendo.

Así que ya no tiene que ejecutarlo manualmente, es un proceso para evitar cualquier conflicto y tener varias instancias de un mismo proceso haciendo lo mismo al mismo tiempo.

Si desea detenerlo y ejecutarlo manualmente, envíe un SIGTERM a su proceso, que le da al proceso la oportunidad de finalizar su trabajo y cerrarlo limpiamente, algo así como:

sudo pkill -15 -x freshclam
  • en este caso sudo puede ser necesario.
  • 15: SIGTERM es el
  • predeterminado.

Luego ejecútelo manualmente:

sudo freshclam

Sin embargo, en este caso, puede usar:

sudo systemctl stop clamav-freshclam.service

para detener al daemon.

    
respondido por el Ravexina 26.04.2017 - 20:25
19
sudo /etc/init.d/clamav-freshclam stop
sudo freshclam
sudo /etc/init.d/clamav-freshclam start
    
respondido por el flavio.troja 07.06.2017 - 15:10
5

Esta podría ser otra opción para esto ...

sudo service clamav-freshclam stop
sudo freshclam
sudo service clamav-freshclam start

Espero que esto ayude ...

    
respondido por el Phd21 06.12.2017 - 16:44

Lea otras preguntas en las etiquetas