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
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
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 lsof
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
abc
est le nom du processus qui utilise ce fichier. Dans votre cas, il s'agit de: freshclam
name__.
Cela signifie que freshclam
que 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
Sudo
peut être nécessaire.Puis lancez-le manuellement:
Sudo freshclam
Cependant, dans ce cas, vous pouvez utiliser:
Sudo systemctl stop clamav-freshclam.service
arrêter le démon.
Sudo /etc/init.d/clamav-freshclam stop
Sudo freshclam
Sudo /etc/init.d/clamav-freshclam start
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...