.TH KILL 1
.SH NAME
kill, slay, start, stop \- print commands to manipulate processes
.SH SYNOPSIS
.B kill
.I name ...
.PP
.B slay
.I name ...
.PP
.B start
.I name ...
.PP
.B stop
.I name ...
.PP
.B broke
[
.I user
]
.SH DESCRIPTION
.I Kill
prints commands that will cause all processes with 
.I name
and owned by the current user to be terminated.
Each command is commented with an output line from
.IR ps (1)
describing the process that would be killed.
Use the
.B send
command of
.IR 9term (1),
or pipe the output of
.I kill
into
.IR rc (1)
or
.IR sh (1)
to execute the commands.
.PP
.I Kill
suggests sending a Unix
.B TERM
signal to the process; 
sending a
.B KILL
signal is a surer, if heavy handed, kill,
but is necessary if the offending process is
ignoring signals.
The
.I slay
command prints commands to do this.
.PP
.I Stop
prints commands to pause execution of processes
by sending them the
.B STOP
signal.
.PP
.I Start
prints commands to restart stopped processes by sending them
the
.B CONT
signal.
.SH SOURCE
.B /usr/local/plan9/bin
.SH "SEE ALSO"
.IR ps (1),
.IR notify (3)
