Skip to content

Killall command on Linux (sends signals)

The killall command in Linux sends signals to processes and takes as a parameter not the process PID, but its name. It is generally used to terminate the execution of processes that have several processes children performing at the same time.

If no specific signal is passed as a parameter, killall will send the TERM (15) signal to finalize the process in an elegant manner.

In this example, killall forces the web server identified by the httpd name corresponding to processes 1952, 1953, and 1954 to read its configuration file again:

$ ps aux | grep httpd <br></br>wwwrun 1952 0.0 1.7 93232 2248? At 16:15 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf <br></br>wwwrun 1953 0.0 1.7 93232 2248? At 16:15 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf <br></br>wwwrun 1954 0.0 1.7 93232 2248? At 16:15 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf

# killall —HUP httpd To abruptly terminate the web service by aborting all httpd processes:

# killall —9 httpd

Difference between kill and killall

It’s important that you understand the difference between the kill and killall commands. The former sends signals to one or more processes identified by the PID. The second sends signals to all processes in the execution queue that have a certain name.

The signals sent by Kill and Killall can be passed by name or by the corresponding integer.

The killall command is very similar to the pgrep command.

Learn much more about Linux in our online course. You can register here. If you already have an account, or want to create one, just log in or create your user here.

Did you like it?

Share