client-kill.3valkey - Man Page
Terminates open connections.
Synopsis
CLIENT KILL
ip:port
CLIENT KILL
[<ID
client-id | TYPE
<NORMAL
| MASTER
| PRIMARY
| SLAVE
| REPLICA
| PUBSUB
> | USER
username | ADDR
ip:port | LADDR
ip:port | SKIPME
<YES
| NO
> | MAXAGE
maxage>...]
Description
The CLIENT KILL
command closes a given client connection. This command support two formats, the old format:
CLIENT KILL addr:port
The ip:port
should match a line returned by the CLIENT LIST
command (addr
field).
The new format:
CLIENT KILL <filter> <value> ... ... <filter> <value>
With the new form it is possible to kill clients by different attributes instead of killing just by address. The following filters are available:
CLIENT KILL ADDR ip:port
. This is exactly the same as the old three-arguments behavior.CLIENT KILL LADDR ip:port
. Kill all clients connected to specified local (bind) address.CLIENT KILL ID client-id
. Allows to kill a client by its uniqueID
field. ClientID
ās are retrieved using theCLIENT LIST
command.CLIENT KILL TYPE type
, where type is one ofnormal
,master
,replica
andpubsub
. This closes the connections of all the clients in the specified class. Note that clients blocked into theMONITOR
command are considered to belong to thenormal
class.CLIENT KILL USER username
. Closes all the connections that are authenticated with the specified valkey-acl(7) username, however it returns an error if the username does not map to an existing ACL user.CLIENT KILL SKIPME yes/no
. By default this option is set toyes
, that is, the client calling the command will not get killed, however setting this option tono
will have the effect of also killing the client calling the command.CLIENT KILL MAXAGE maxage
. Closes all the connections that are older than the specified age, in seconds.
It is possible to provide multiple filters at the same time. The command will handle multiple filters via logical AND. For example:
CLIENT KILL addr 127.0.0.1:12345 type pubsub
is valid and will kill only a pubsub client with the specified address. This format containing multiple filters is rarely useful currently.
When the new form is used the command no longer returns OK
or an error, but instead the number of killed clients, that may be zero.
CLIENT KILL and Valkey Sentinel
Valkey Sentinel uses CLIENT KILL to terminate client connections when an instance is reconfigured. This mechanism ensures that clients re-establish a connection with a Sentinel, refreshing their configurations.
Reply
One of the following:
- valkey-protocol(7) Simple string reply:
OK
when called in 3 argument format and the connection has been closed. - valkey-protocol(7) Integer reply: when called in filter/value format, the number of clients killed.
Complexity
O(N) where N is the number of client connections
Acl Categories
@admin @connection @dangerous @slow
History
- Available since: 2.4.0
- Changed in 2.8.12: Added new filter format.
- Changed in 2.8.12:
ID
option. - Changed in 3.2.0: Added
master
type in forTYPE
option. - Changed in 5.0.0: Replaced
slave TYPE
withreplica
.slave
still supported for backward compatibility. - Changed in 6.2.0:
LADDR
option. - Changed in 8.0.0:
MAXAGE
option. - Changed in 8.0.0: Replaced
master TYPE
withprimary
.master
still supported for backward compatibility.
Notes
Due to the single-threaded nature of Valkey, it is not possible to kill a client connection while it is executing a command. From the client point of view, the connection can never be closed in the middle of the execution of a command. However, the client will notice the connection has been closed only when the next command is sent (and results in network error).
See Also
auth(3valkey), client(3valkey), client-caching(3valkey), client-capa(3valkey), client-getname(3valkey), client-getredir(3valkey), client-help(3valkey), client-id(3valkey), client-info(3valkey), client-list(3valkey), client-no-evict(3valkey), client-no-touch(3valkey), client-pause(3valkey), client-reply(3valkey), client-setinfo(3valkey), client-setname(3valkey), client-tracking(3valkey), client-trackinginfo(3valkey), client-unblock(3valkey), client-unpause(3valkey), echo(3valkey), hello(3valkey), ping(3valkey), reset(3valkey), select(3valkey)