clamav - HATA: /var/log/clamav/freshclam.log başka bir işlem tarafından kilitlendi mi?

31

clamav yükledim ve virüsleri tanımlamak için kullandığı dosyaları güncellemek istiyorum:

$ sudo freshclam

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

Bu hata ile ne yapmalıyım?

DÜZENLEME:

$ 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
    
sordu laukok 26.04.2017 22:12

3 cevap

39

Kısa cevap:

Otomatik olarak çalıştırıldığından ve arka planda çalıştığı için manuel olarak çalıştırmanız gerekmez, bu yüzden bu mesajı alırsınız.

Sunucuyu durdurmak ve manuel olarak çalıştırmak istiyorsanız:

sudo systemctl stop clamav-freshclam.service

el ile çalıştırın:

sudo freshclam

Ne oluyor ve nasıl halledilir?

Benzer durumlarla karşılaştığınızda her zaman, file x has been locked veya Another process is using this file : /path/to/x gibi hatalar, bu dosyayı hangi işlemi kullandığını bulmak için lsof komutunu kullanabilirsiniz; >

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

Şunun gibi bir çıktı almalısınız:

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 , bu dosyayı kullanan işlemin adıdır, sizin durumunuzda: freshclam .

Bu, çalıştırmak istediğiniz freshclam 'nin zaten clamav daemons tarafından çalıştırıldığı anlamına gelir.

Neler olup bittiğini görmek için less /var/log/clamav/freshclam.log veya benzer komutları kullanabilirsiniz.

Artık manuel olarak çalıştırmak zorunda değilsiniz, bu, herhangi bir anlaşmazlığı önlemek ve aynı işlemin aynı anda birden çok örneğini aynı anda yapmak için bir işlemdir.

Bunu durdurmak ve manuel olarak çalıştırmak istiyorsanız, işlemine SIGTERM yollayın, bu da işlemin işini bitirme ve kendini temiz bir şekilde kapatma şansını verir, örneğin:

sudo pkill -15 -x freshclam
  • bu durumda sudo gerekli olabilir.
  • 15: SIGTERM varsayılan değerdir

Ardından manuel olarak çalıştırın:

sudo freshclam

Ancak bu durumda şunları kullanabilirsiniz:

sudo systemctl stop clamav-freshclam.service

daemon'u durdurmak için.

    
verilen cevap Ravexina 26.04.2017 22:25
19
sudo /etc/init.d/clamav-freshclam stop
sudo freshclam
sudo /etc/init.d/clamav-freshclam start
    
verilen cevap flavio.troja 07.06.2017 17:10
5

Bunun için başka bir seçenek olabilir ...

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

Umarım bu yardımcı olur ...

    
verilen cevap Phd21 06.12.2017 17:44

Etiketlerdeki diğer soruları oku