clamav - ERROR: /var/log/clamav/freshclam.log bị khóa bởi một quy trình khác?


49

Tôi đã cài đặt clamavvà tôi muốn cập nhật các tệp mà nó sử dụng để xác định vi-rút:

$ sudo freshclam

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

Tôi nên làm gì với lỗi này?

BIÊN TẬP:

$ 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

Đầu ra của là sudo lsof /var/log/clamav/freshclam.loggì?
Ravexina

1
Vì vậy, không cần phải chạy nó, nó tự động đã được bắt đầu.
Ravexina

@Ravexina không cần chạy gì?
laukok

1
sudo freshclam
Ravexina

1
Tôi đoán nó phải là nhật ký của quá trình cập nhật, vì vậy không có hại ... nó chỉ thêm những gì đang xảy ra với tập tin đó.
Ravexina

Câu trả lời:


63

Câu trả lời ngắn:

Bạn không phải chạy thủ công vì nó đã được chạy tự động và đang chạy trong nền, đó là lý do tại sao bạn nhận được thông báo đó.

Nếu bạn muốn dừng daemon và chạy thủ công:

sudo systemctl stop clamav-freshclam.service

chạy thủ công:

sudo freshclam

Điều gì đang xảy ra và làm thế nào để xử lý nó?

Mỗi khi bạn gặp phải một tình huống tương tự, các lỗi như file x has been lockedhoặc Another process is using this file : /path/to/xbạn có thể sử dụng lsoflệnh để tìm hiểu quá trình nào đang sử dụng tệp đó, trong trường hợp của bạn nếu bạn chạy:

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

Bạn sẽ nhận được một đầu ra như:

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

Các abclà tên của quá trình đó đang sử dụng tập tin đó, trong trường hợp của bạn đó là: freshclam.

Điều đó có nghĩa là freshclamnhững gì bạn muốn chạy đã được chạy bởi clamav daemon.

bạn có thể sử dụng less /var/log/clamav/freshclam.loghoặc các lệnh tương tự để xem những gì đang xảy ra.

Vì vậy, bạn không phải chạy thủ công nữa, đó là một quá trình để tránh mọi xung đột và có nhiều phiên bản của cùng một quy trình làm cùng một việc.

Nếu bạn muốn làm cho nó dừng lại và chạy nó một cách thủ công, sau đó gửi một SIGTERMquy trình của nó, điều đó cho phép quá trình hoàn thành công việc của nó và đóng lại một cách sạch sẽ, đại loại như:

sudo pkill -15 -x freshclam
  • trong trường hợp này sudocó thể là cần thiết
  • 15: SIGTERM là mặc định

Sau đó chạy thủ công:

sudo freshclam

Tuy nhiên trong trường hợp này bạn có thể sử dụng:

sudo systemctl stop clamav-freshclam.service

để ngăn chặn daemon.


Daemon sẽ khởi động lại sau khi khởi động lại? Nếu vậy, bạn có biết cách tốt nhất để ngăn chặn điều đó? Cảm ơn.
Joshua Pinter

sudo systemctl disable clamav-freshclam.servicecó thể là cách
Ravexina

Cảm ơn, tôi sẽ thử nếu nó bật lại.
Joshua Pinter

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

8

Đây có thể là một lựa chọn khác cho ...

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

Hi vọng điêu nay co ich...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.