The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


killall - Kill all instances of a process by pattern matching the command-line


        use Proc::Killall;

        killall('HUP', 'xterm'); # SIGHUP all xterms
        killall('KILL', '^netscape$'); # SIGKILL to "netscape"


This module provides one function, killall(), which takes two parameters: a signal name or number (see kill()) and a process pattern. This pattern is matched against the process' command-line as the ps command would show it (ps is not used internally, instead a package called Proc::ProcessTable is used).

killall searches the process table and sends that signal to all processes which match the pattern. The return value is the number of processes that were successfully signaled. If any kills failed, the $! variable will be set based on that last one that failed (even if a successful kill happened afterward).


Written in 2000 by Aaron Sherman <>

Proc::Killall is copyright 2000 by Aaron Sherman, and may be distributed under the same terms as Perl itself.


Proc::ProcessTable is required for Proc::Killall to function.


perl, perlfunc, perlvar, Proc::ProcessTable