web-dev-qa-db-fra.com

clamav - ERREUR: /var/log/clamav/freshclam.log est verrouillé par un autre processus?

J'ai installé clamav et je souhaite mettre à jour les fichiers qu'il utilise pour identifier les 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).

Que dois-je faire avec cette erreur?

EDIT:

$ 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
42
laukok

Réponse courte:

Vous n'avez pas besoin de l'exécuter manuellement car il a été exécuté automatiquement et s'exécute en arrière-plan, c'est pourquoi vous recevez ce message.

Si vous souhaitez arrêter le démon et l'exécuter manuellement:

Sudo systemctl stop clamav-freshclam.service

lancez-le manuellement:

Sudo freshclam

Que se passe-t-il et comment le gérer?

Chaque fois que vous rencontrez des situations similaires, des erreurs telles que file x has been locked ou Another process is using this file : /path/to/x, vous pouvez utiliser la commande lsofpour savoir quel processus utilise ce fichier, dans votre cas si vous exécutez:

Sudo lsof /var/log/clamav/freshclam.log

Vous devriez obtenir un résultat comme:

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

abcest le nom du processus qui utilise ce fichier. Dans votre cas, il s'agit de: freshclamname__.

Cela signifie que freshclamque vous souhaitez exécuter a déjà été exécuté par les démons clamav.

vous pouvez utiliser less /var/log/clamav/freshclam.log ou des commandes similaires pour voir ce qui se passe.

Donc, vous n'avez plus besoin de le lancer manuellement, c'est un processus pour éviter tout conflit et avoir plusieurs instances d'un même processus qui font la même chose au même moment.

Si vous voulez le faire arrêter et l'exécuter manuellement, envoyez ensuite un SIGTERMà son processus, ce qui lui donnera l'occasion de terminer son travail et de se fermer proprement, comme suit:

Sudo pkill -15 -x freshclam
  • dans ce cas, Sudopeut être nécessaire.
  • 15: SIGTERM est la valeur par défaut

Puis lancez-le manuellement:

Sudo freshclam

Cependant, dans ce cas, vous pouvez utiliser:

Sudo systemctl stop clamav-freshclam.service

arrêter le démon.

56
Ravexina
Sudo /etc/init.d/clamav-freshclam stop
Sudo freshclam
Sudo /etc/init.d/clamav-freshclam start
22
flavio.troja

Cela pourrait être une autre option pour cela ...

Sudo service clamav-freshclam stop
Sudo freshclam
Sudo service clamav-freshclam start

J'espère que cela t'aides...

8
Phd21