How to fix clamd "ERROR: LOCAL: Socket file
/tmp/clamd.socket is in use by another process."
One of the Qmail server installations I'm taking care of's
clamd antivirus process started loading the system
heavily.
After a bit of log reading and investigation I've found the
following error in my
/var/log/clamd/current
@400000004dda1e1815cf03f4 ERROR: LOCAL: Socket file
/tmp/clamd.socket is in use by another process.
I've noticed in my process list that actually I do have two
processes
clamd :
11608 ? Sl 0:05 /usr/local/sbin/clamd
11632 ? S 0:00 /usr/bin/multilog t /var/log/clamd
16013 ? Sl 0:06 /usr/local/sbin/clamd
It appeared that for some weird reason one of the
clamd
process was failing to connect constantly to the clam server socket
/tmp/clamd.socket and each time it tried to connect and
failed to connect to the socket the system gets about 5% of extra
load ...
Resolving the issues was a piece of cake, all I had to do is stop
the clamd server delete the
/tmp/clamd.socket and relaunch
the clamd server.
Here is exactly the commands I issued:
debian:~# cd /service/
debian:/service# svc -a clamd
debian:/service# svc -h clamd
debian:/service# svc -d clamd
debian:/service# rm -f /tmp/clamd.socket
debian:/service# svc -u clamd
Afterwards the clamd extra load went out and in
/var/log/clamd/current I can see clamd loads fine without errors,
e.g.:
Listening daemon: PID: 16013
MaxQueue set to: 150
No stats for Database check - forcing reload
Reading databases from /usr/local/share/clamav
Database correctly reloaded (966822 signatures)
SelfCheck: Database status OK.
...