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:

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)