A typical Linux/Unix command that kills all the processes that match a specific criterion. It sends a given signal to the process(es) that should be killed. Typically used in the system shutdown scripts to remove all programs before halting or rebooting the machine. Also a good way to remove crashed processes when they become confused as is often the case with Netscape and Wine.

This command is one of the biggest traps for the unwary. Consider it a time bomb buried in the heads of people that learn how to sysadm on Linux and then transition to Solaris or (I am sure) other UNIXes.

Contrast the two definitions:

Solaris
killall is used by shutdown(1M) to kill all active processes not directly related to the shutdown procedure.
killall terminates all processes with open files so that the mounted file systems will be unbusied and can be unmounted.
killall sends signal (see kill(1)) to the active processes. If no signal is specified, a default of 15 is used.
The killall command can be run only by the super-user.

Linux
killall - kill processes by name
snip killall sends a signal to all processes running any of the specifiedcommands. If no signal name is specified, SIGTERM is sent.

So, there you have it: under Linux it kills all processes running a specified command, under Solaris it kills everything in sight. It makes for a nice pistol.

Log in or register to write something here or to contact authors.