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

49

He instalado clamavy 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
laukok
fuente
¿Cuál es la salida de sudo lsof /var/log/clamav/freshclam.log?
Ravexina
1
Así que no es necesario ejecutarlo, se ha iniciado automáticamente.
Ravexina
@Ravexina no hay necesidad de ejecutar qué?
laukok
1
sudo freshclam
Ravexina
1
Supongo que debería ser el registro del proceso de actualización, así que no hay daño ... solo agrega lo que está sucediendo en ese archivo.
Ravexina

Respuestas:

64

Respuesta corta:

No tiene que ejecutarlo manualmente porque se ha ejecutado automáticamente y se está ejecutando en segundo plano, por eso recibe ese mensaje.

Si quieres detener el demonio y ejecutarlo manualmente:

sudo systemctl stop clamav-freshclam.service

ejecutarlo manualmente:

sudo freshclam

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

Cada vez que te encuentras con situaciones similares, errores como file x has been lockedo Another process is using this file : /path/to/xpuedes usar el lsofcomando para averiguar qué proceso está usando ese archivo, en tu caso si ejecutas:

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

Debería obtener una salida 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 abces el nombre del proceso que está utilizando ese archivo, en su caso, es: freshclam.

Eso significa freshclamque lo que quieres ejecutar ya ha sido ejecutado por clamav daemons.

puedes usar less /var/log/clamav/freshclam.logcomandos similares para ver qué está pasando.

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

Si desea detenerlo y ejecutarlo manualmente, envíe un SIGTERMa su proceso, que le da al proceso la oportunidad de terminar su trabajo y cerrarse de manera limpia, algo como:

sudo pkill -15 -x freshclam
  • En este caso sudopuede ser necesario.
  • 15: SIGTERM es el valor predeterminado

Luego ejecútelo manualmente:

sudo freshclam

Sin embargo, en este caso puedes usar:

sudo systemctl stop clamav-freshclam.service

para detener al demonio.

Ravexina
fuente
¿Se reiniciará el demonio después de reiniciar? Si es así, ¿conoce la mejor manera de prevenir eso? Gracias.
Joshua Pinter
sudo systemctl disable clamav-freshclam.servicepodría ser el camino.
Ravexina
Gracias, lo intentaré si vuelve a aparecer.
Joshua Pinter
24
sudo /etc/init.d/clamav-freshclam stop
sudo freshclam
sudo /etc/init.d/clamav-freshclam start
flavio.troja
fuente
8

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...

Phd21
fuente