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


49

Yükledim clamavve 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 hatayı ne yapmalıyım?

DÜZENLE:

$ 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

Çıktı nedir sudo lsof /var/log/clamav/freshclam.log?
Ravexina

1
Yani çalıştırmanıza gerek yok, otomatik olarak başlatıldı.
Ravexina

@Ravexina neyi çalıştırmanıza gerek yok?
laukok

1
sudo freshclam
Ravexina

1
Sanırım güncelleme işleminin günlüğü olmalı, bu yüzden zararsız ... bu dosyaya ne olduğunu ekliyor.
Ravexina

Yanıtlar:


63

Kısa cevap:

Manuel olarak çalıştırmak zorunda değilsiniz çünkü otomatik olarak çalışıyor ve arka planda çalışıyor, bu yüzden bu mesajı alıyorsunuz.

Daemon'u durdurmak ve elle çalıştırmak istiyorsanız:

sudo systemctl stop clamav-freshclam.service

elle çalıştır:

sudo freshclam

Neler oluyor ve bununla nasıl başa çıkacaksınız?

Benzer bir durumla karşılaştığınız her seferde, gibi hatalar file x has been lockedveya Another process is using this file : /path/to/xbu lsofkomutu kullanarak hangi işlemi kullandığınızı bulmak için bu komutu kullanabilirsiniz :

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

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

abcSizin durumunuzda bu, bu dosyayı kullanan işlemin adıdır: freshclam.

Bu freshclam, koşmak istediğin anlamına gelir zaten clamav daemons tarafından çalıştırıldı.

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

Yani artık elle çalıştırmanız gerekmiyor, herhangi bir uyuşmazlıktan kaçınmak ve aynı işlemi aynı anda yapan aynı işlemin birden fazla örneğine sahip olmak bir işlemdir.

Durdurup manuel olarak çalıştırmasını istiyorsanız SIGTERM, işlemine bir gönderme yapın ; bu işlemin işini bitirmesi ve kendini temiz bir şekilde kapatması için bir şans verir:

sudo pkill -15 -x freshclam
  • Bu durumda sudogerekli olabilir.
  • 15: SIGTERM varsayılandır

Sonra elle çalıştırın:

sudo freshclam

Ancak bu durumda kullanabilirsiniz:

sudo systemctl stop clamav-freshclam.service

cini durdurmak için.


Daemon yeniden başlattıktan sonra tekrar başlayacak mı? Eğer öyleyse, bunu önlemenin en iyi yolunu biliyor musunuz? Teşekkürler.
Joshua Pinter

sudo systemctl disable clamav-freshclam.serviceyol olabilir.
Ravexina

Teşekkürler, tekrar açılırsa deneyeceğim.
Joshua Pinter

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

8

Bu bunun için başka bir seçenek olabilir ...

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

Bu yardımcı olur umarım...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.