Я установил 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).
Что мне делать с этой ошибкой?
EDIT :
$ 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
Каждый раз, когда вы сталкиваетесь с подобной ситуацией, такие ошибки, как 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 или подобные команды, чтобы посмотреть, что происходит.
Таким образом, вам больше не нужно запускать его вручную, это процесс, позволяющий избежать конфликта и одновременное использование нескольких экземпляров одного и того же процесса.
Если вы хотите, чтобы он останавливался и запустите его вручную, а затем отправьте SIGTERM в свой процесс, что даст процессу возможность закончить работу и закрыть себя чисто, что-то вроде:
sudo pkill -15 -x freshclam
в этом случае sudo может быть необходимо. 15: SIGTERM по умолчанию Затем запустите его вручную:
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 или подобные команды, чтобы посмотреть, что происходит.
Таким образом, вам больше не нужно запускать его вручную, это процесс, позволяющий избежать конфликта и одновременное использование нескольких экземпляров одного и того же процесса.
Если вы хотите, чтобы он останавливался и запустите его вручную, а затем отправьте SIGTERM в свой процесс, что даст процессу возможность закончить работу и закрыть себя чисто, что-то вроде:
sudo pkill -15 -x freshclam
в этом случае sudo может быть необходимо. 15: SIGTERM по умолчанию Затем запустите его вручную:
sudo freshclam
это может быть еще один вариант...
sudo service clamav-freshclam stop
sudo freshclam
sudo service clamav-freshclam start
надеюсь, что это помогает...
Это может быть другим вариантом для этого ...
sudo service clamav-freshclam stop
sudo freshclam
sudo service clamav-freshclam start
Надеюсь, это поможет ...