Clam daemon
clamd
is a multi-threaded daemon that uses libclamav
to scan files for viruses. It may work in one or both modes listening on:
- Unix (local) socket
- TCP socket
The daemon is fully configurable via the clamd.conf
file
6. clamd
recognizes the following commands:
- PING
Check the daemon's state (should reply with "PONG").
- VERSION
Print program and database versions.
- RELOAD
Reload the databases.
- SHUTDOWN
Perform a clean exit.
- SCAN file/directory
Scan file or directory (recursively) with archive support
enabled (a full path is required).
- RAWSCAN file/directory
Scan file or directory (recursively) with archive and special file
support disabled (a full path is required).
- CONTSCAN file/directory
Scan file or directory (recursively) with archive support
enabled and don't stop the scanning when a virus is found.
- MULTISCAN file/directory
Scan file in a standard way or scan directory (recursively) using
multiple threads (to make the scanning faster on SMP machines).
- STREAM
Scan stream: clamd
will return a new port number you should
connect to and send data to scan.
- SESSION, END
Start/end a clamd
session - you can do multiple commands
per TCP session (WARNING: due to the clamd
implementation the
RELOAD command will break the session).
and reacts on the special signals:
- SIGTERM - perform a clean exit
- SIGHUP - reopen the log file
- SIGUSR2 - reload the database
Clamd should not be started in the background using the shell operator
&
or external tools. Instead, you should run and wait for clamd
to load the database and daemonize itself. After that, clamd is instantly
ready to accept connections and perform file scanning.
Tomasz Kojm
2008-10-30