clamav - 错误:/var/log/clamav/freshclam.log 被另一个进程锁定?

lau*_*kok 82 malware clamav antivirus

我已经安装clamav并且我想更新它用来识别病毒的文件:

$ sudo freshclam

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

我该怎么办这个错误?

编辑:

$ 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
Run Code Online (Sandbox Code Playgroud)

Rav*_*ina 114

简短的回答:

您不必手动运行它,因为它已自动运行并在后台运行,这就是您收到该消息的原因。

如果要停止守护进程并手动运行它:

sudo systemctl stop clamav-freshclam.service
Run Code Online (Sandbox Code Playgroud)

手动运行:

sudo freshclam
Run Code Online (Sandbox Code Playgroud)

发生了什么以及如何处理?

每次当你遇到类似的情况时,像file x has been locked或这样的错误Another process is using this file : /path/to/x你可以使用lsof命令来找出哪个进程正在使用该文件,在你的情况下,如果你运行:

sudo lsof /var/log/clamav/freshclam.log
Run Code Online (Sandbox Code Playgroud)

您应该得到如下输出:

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
abc       126   user   3wW  REG  259,1  100          1048 /var/log/clamav/freshclam.log
Run Code Online (Sandbox Code Playgroud)

abc是正在使用该文件,在你的情况下,它的进程名:freshclam

这意味着freshclam您要运行的已由 clamav 守护程序运行。

您可以使用less /var/log/clamav/freshclam.log或类似的命令来查看发生了什么。

所以你不必再手动运行它,这是一个避免任何冲突的过程,并且同一进程的多个实例同时做同样的事情。

如果你想让它停止并手动运行它,然后向SIGTERM它的进程发送一个,这让进程有机会完成它的工作并干净地关闭自己,例如:

sudo pkill -15 -x freshclam
Run Code Online (Sandbox Code Playgroud)
  • 在这种情况下sudo可能是必要的。
  • 15:SIGTERM 是默认值

然后手动运行:

sudo freshclam
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,您可以使用:

sudo systemctl stop clamav-freshclam.service
Run Code Online (Sandbox Code Playgroud)

停止守护进程。


小智 27

sudo /etc/init.d/clamav-freshclam stop
sudo freshclam
sudo /etc/init.d/clamav-freshclam start
Run Code Online (Sandbox Code Playgroud)


小智 11

这可能是另一个选择...

sudo service clamav-freshclam stop
sudo freshclam
sudo service clamav-freshclam start
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助...