clamav - BŁĄD: /var/log/clamav/freshclam.log jest zablokowany przez inny proces?

49

Zainstalowałem clamavi chcę zaktualizować pliki używane do identyfikacji wirusów:

$ sudo freshclam

ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).

Co mam zrobić z tym błędem?

EDYTOWAĆ:

$ 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
źródło
Jaka jest wydajność sudo lsof /var/log/clamav/freshclam.log?
Ravexina
1
Więc nie trzeba go uruchamiać, to zostało automatycznie uruchomione.
Ravexina
@Ravexina nie trzeba co uruchamiać?
laukok
1
sudo freshclam
Ravexina
1
Wydaje mi się, że powinien to być dziennik procesu aktualizacji, więc nie szkodzić ... to po prostu dodaje to, co dzieje się w tym pliku.
Ravexina

Odpowiedzi:

63

Krótka odpowiedź:

Nie musisz uruchamiać go ręcznie, ponieważ został on uruchomiony automatycznie i działa w tle, dlatego otrzymujesz ten komunikat.

Jeśli chcesz zatrzymać demona i uruchomić go ręcznie:

sudo systemctl stop clamav-freshclam.service

uruchom go ręcznie:

sudo freshclam

Co się dzieje i jak sobie z tym poradzić?

Za każdym razem, gdy napotkasz podobne sytuacje, błędy takie jak file x has been lockedlub Another process is using this file : /path/to/xmożesz użyć lsofpolecenia, aby dowiedzieć się, który proces korzysta z tego pliku, w twoim przypadku, jeśli uruchomisz:

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

Powinieneś otrzymać wyjście takie jak:

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

abcTo nazwa procesu, który korzysta z tego pliku, w Twoim przypadku jest to: freshclam.

Oznacza to, freshclamże chcesz uruchomić już uruchomione przez demony clamav.

możesz użyć less /var/log/clamav/freshclam.loglub podobnych poleceń, aby zobaczyć, co się dzieje.

Dzięki temu nie musisz już uruchamiać go ręcznie, jest to proces pozwalający uniknąć konfliktu i polegający na tym, że wiele instancji tego samego procesu robi to samo w tym samym czasie.

Jeśli chcesz zatrzymać i uruchomić go ręcznie, a następnie wyślij SIGTERMdo jego procesu, który daje temu procesowi szansę na zakończenie zadania i czyste zamknięcie, coś w stylu:

sudo pkill -15 -x freshclam
  • w takim przypadku sudomoże być konieczne.
  • 15: SIGTERM jest ustawieniem domyślnym

Następnie uruchom go ręcznie:

sudo freshclam

Jednak w tym przypadku możesz użyć:

sudo systemctl stop clamav-freshclam.service

zatrzymać demona.

Ravexina
źródło
Czy demon uruchomi się ponownie po ponownym uruchomieniu? Jeśli tak, czy znasz najlepszy sposób, aby temu zapobiec? Dzięki.
Joshua Pinter
sudo systemctl disable clamav-freshclam.servicemoże być droga.
Ravexina
Dzięki, wypróbuję to, jeśli pojawi się ponownie.
Joshua Pinter
24
sudo /etc/init.d/clamav-freshclam stop
sudo freshclam
sudo /etc/init.d/clamav-freshclam start
flavio.troja
źródło
8

To może być kolejna opcja do tego ...

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

Mam nadzieję że to pomoże...

Phd21
źródło