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

49

J'ai installé clamavet 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?

MODIFIER:

$ 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
la source
Quelle est la sortie de sudo lsof /var/log/clamav/freshclam.log?
Ravexina
1
Donc pas besoin de l'exécuter, c'est automatiquement démarré.
Ravexina
@ Ravexina pas besoin d'exécuter quoi?
Laukok
1
sudo freshclam
Ravexina
1
Je suppose que cela devrait être le journal du processus de mise à jour, donc pas de problème ... cela ne fait qu'ajouter à ce qui se passe dans ce fichier.
Ravexina

Réponses:

64

Réponse courte:

Vous n'avez pas à 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 lockedou Another process is using this file : /path/to/xvous pouvez utiliser la lsofcommande pour 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

Le abcest le nom du processus qui utilise ce fichier, dans votre cas , il est: freshclam.

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

vous pouvez utiliser less /var/log/clamav/freshclam.logdes 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, puis envoyez un SIGTERMprocessus à son processus, cela lui donnera une chance de terminer son travail et de se fermer proprement, quelque chose comme:

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.

Ravexina
la source
Le démon va-t-il redémarrer après un redémarrage? Si oui, connaissez-vous le meilleur moyen d'éviter cela? Merci.
Joshua Pinter
sudo systemctl disable clamav-freshclam.servicepourrait être le chemin.
Ravexina
Merci, je vais essayer si cela réapparaît.
Joshua Pinter
24
sudo /etc/init.d/clamav-freshclam stop
sudo freshclam
sudo /etc/init.d/clamav-freshclam start
flavio.troja
la source
8

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

Phd21
la source