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

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


¿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

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.