When the command xkill is invoked with an username as argument, it attempts to locate the specified user on the local host. If the user is logged on, the signal ECUTE (electrocute, 666) is sent to the user's terminal. This will cause the keyboard to electrocute the user. If the user is not logged on, the appropriate line of the file /etc/passwd is marked. The first time the user logs on the ECUTE signal is sent to the terminal he is using.
When the command xkill is invoked with a remote username, in the form user@host, a connection with the remote host is attempted (see xkilld(8)), to send the ECUTE signal to the user's terminal.
The program will attempt to locate a remote user by scanning the news spool area. When the user is located, a connection is attempted with the appropriate host, and the ECUTE (electrocute, 666) signal is sent to the appropriate user. The search only considers one newsgroup. If none is specified, rec.humor is assumed by default. The program attempts to locate people whose signature is too long, and who quote a whole article in order to comment on a single line. The option -s can be used to consider only the size of signatures, while the option -q can be used to consider only the size of the quotations. The option -qs corresponds to the default.
When the -p (post) switch is used, the user is electrocuted next time he post news.
To decide what is a quotation, and what is a signature, a very complicated pattern matching is used. This does not always work, even if the program hasn't yet electrocuted somebody who is not guilty of bandwidth waste.