clamav - ОШИБКА: /var/log/clamav/freshclam.log заблокирован другим процессом?

49

Я установил 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).

Что мне делать с этой ошибкой?

РЕДАКТИРОВАТЬ:

$ 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
источник
Какой выход sudo lsof /var/log/clamav/freshclam.log?
Равексина
1
Так что запускать его не нужно, он автоматически запускается.
Равексина
@ Ravexina не нужно запускать что?
Laukok
1
sudo freshclam
Равексина
1
Я предполагаю, что это должен быть журнал процесса обновления, так что без вреда ... он просто добавляет, что происходит с этим файлом.
Равексина

Ответы:

64

Краткий ответ:

Вам не нужно запускать его вручную, потому что он был запущен автоматически и работает в фоновом режиме, поэтому вы получаете это сообщение.

Если вы хотите остановить демон и запустить его вручную:

sudo systemctl stop clamav-freshclam.service

запустить его вручную:

sudo freshclam

Что происходит и как с этим справиться?

Каждый раз, когда вы сталкиваетесь с подобными ситуациями, появляются ошибки типа file x has been lockedили Another process is using this file : /path/to/xвы можете использовать lsofкоманду, чтобы выяснить, какой процесс использует этот файл, в вашем случае, если вы запустите:

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

Вы должны получить вывод как:

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Это имя процесса , который использует этот файл, в вашем случае это: freshclam.

Это означает, freshclamчто вы хотите запустить уже запущены демонов clamav.

Вы можете использовать less /var/log/clamav/freshclam.logили аналогичные команды, чтобы увидеть, что происходит.

Таким образом, вам больше не нужно запускать его вручную, это процесс, позволяющий избежать конфликтов и имеющий несколько экземпляров одного и того же процесса, выполняющих одно и то же одновременно.

Если вы хотите, чтобы он остановился и запустил его вручную, затем отправьте a SIGTERMсвоему процессу, что даст процессу возможность завершить свою работу и полностью закрыть себя, что-то вроде:

sudo pkill -15 -x freshclam
  • в этом случае sudoможет понадобиться.
  • 15: SIGTERM по умолчанию

Затем запустите его вручную:

sudo freshclam

Однако в этом случае вы можете использовать:

sudo systemctl stop clamav-freshclam.service

остановить демона.

Ravexina
источник
Демон запустится снова после перезагрузки? Если так, знаете ли вы лучший способ предотвратить это? Благодарю.
Джошуа Пинтер
sudo systemctl disable clamav-freshclam.serviceможет быть путь.
Равексина
Спасибо, я попробую это, если он снова появится снова.
Джошуа Пинтер
24
sudo /etc/init.d/clamav-freshclam stop
sudo freshclam
sudo /etc/init.d/clamav-freshclam start
flavio.troja
источник
8

Это может быть еще один вариант для этого ...

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

Надеюсь это поможет...

Phd21
источник