The terminate signal will kill processes that do not catch the signal, so `kill -9 ...' is a sure kill, as the KILL (9) signal cannot be caught. By convention, if process number 0 is specified, all members in the process group (that is, processes resulting from the current login) are signaled (but beware: this works only if you use sh(1); not if you use csh(1).) Negative process numbers also have special meanings; see kill(2V) for details. The killed processes must belong to the current user unless he is the super-user.
To shut the system down and bring it up single user the super-user may send the initialization process a TERM (terminate) signal by `kill 1'; see init(8). To force init to close and open terminals according to what is currently in /etc/ttytab use `kill -HUP 1' (sending a hangup signal to process 1).
The shell reports the process number of an asynchronous process started with `&' (run in the background). Process numbers can also be found by using ps(1).
kill is built in to csh(1); it allows job specifiers, such as `kill % ...', in place of kill arguments. See csh(1) for details.