kill – terminate a process

The command kill sends the specified signal to specified groups.

The default action for this signal is to terminate.

to perform clean-up steps before terminating in an orderly fashion.

be aware that the signal cannot be caught, and does not give the target opportunity.

Most modern shells have a builtin kill command, with a usage rather similar.

The options, and the possibility to specify name are local extensions.

The list can be a mixture of names and PIDs.

When an argument is given, and it is meant to denote a group,  it will be taken as signal.

The signal may be given as a name or a number.

The value argument is sent along with the signal.

this signal can obtain data via the structure defined the usual way.

timeout will make kill wait for a period defined in milliseconds before sending follow-up signal.

Note that the operating system may reuse PIDs and may introduce a race in defined timeouts.

kill has the following exit status values:

success
failure
partial success

Although it is possible to specify the argument of kill, the signal is nevertheless directed to the entire group. In other words, it is not possible to send a signal to an explicitly selected thread in a multithreaded process.

Various shells provide kill implementation. Easiest way to ensure executing.
The kill command is part of the package and is available.

*a found poem (from Linux Man Pages)