clamav - ERRORE: /var/log/clamav/freshclam.log è bloccato da un altro processo?


49

Ho installato clamave desidero aggiornare i file che utilizza per identificare i 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).

Cosa devo fare con questo errore?

MODIFICARE:

$ 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

Qual è l'output di sudo lsof /var/log/clamav/freshclam.log?
Ravexina,

1
Quindi non è necessario eseguirlo, è stato avviato automaticamente.
Ravexina,

@Ravexina non è necessario eseguire cosa?
Laukok,

1
sudo freshclam
Ravexina,

1
Immagino che dovrebbe essere il registro del processo di aggiornamento, quindi nessun danno ... aggiunge solo ciò che sta accadendo a quel file.
Ravexina,

Risposte:


64

Risposta breve:

Non è necessario eseguirlo manualmente perché è stato eseguito automaticamente ed è in esecuzione in background, ecco perché ricevi quel messaggio.

Se vuoi fermare il demone ed eseguirlo manualmente:

sudo systemctl stop clamav-freshclam.service

eseguirlo manualmente:

sudo freshclam

Cosa sta succedendo e come gestirlo?

Ogni volta che ti trovi in ​​situazioni simili, errori come file x has been lockedo Another process is using this file : /path/to/xpuoi usare il lsofcomando per scoprire quale processo sta usando quel file, nel tuo caso se esegui:

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

Dovresti ottenere un output come:

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

Il abcè il nome del processo che sta utilizzando il file, nel tuo caso è: freshclam.

Ciò significa freshclamche ciò che si desidera eseguire è già stato gestito da demoni Clamav.

puoi usare less /var/log/clamav/freshclam.logcomandi simili per vedere cosa sta succedendo.

Quindi non devi più eseguirlo manualmente, è un processo per evitare qualsiasi conflitto e avere più istanze di uno stesso processo che fa la stessa cosa allo stesso tempo.

Se vuoi interromperlo ed eseguirlo manualmente, quindi invia un SIGTERMal suo processo, che dà al processo la possibilità di terminare il suo lavoro e chiudersi in modo pulito, qualcosa del tipo:

sudo pkill -15 -x freshclam
  • in questo caso sudopuò essere necessario.
  • 15: SIGTERM è l'impostazione predefinita

Quindi eseguirlo manualmente:

sudo freshclam

Tuttavia in questo caso puoi usare:

sudo systemctl stop clamav-freshclam.service

per fermare il demone.


Il demone si riavvierà dopo un riavvio? In tal caso, conosci il modo migliore per evitarlo? Grazie.
Joshua Pinter

sudo systemctl disable clamav-freshclam.servicepotrebbe essere il modo.
Ravexina,

Grazie, lo proverò se riappare di nuovo.
Joshua Pinter

24
sudo /etc/init.d/clamav-freshclam stop
sudo freshclam
sudo /etc/init.d/clamav-freshclam start

8

Questa potrebbe essere un'altra opzione per questo ...

sudo service clamav-freshclam stop
sudo freshclam
sudo service clamav-freshclam start

Spero che sia di aiuto...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.