Mini Shell
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/ckillall Copyright 2022 cPanel, L.L.C.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
package scripts::ckillall;
use strict;
use warnings;
use Config ();
use Cpanel::Kill ();
exit run(@ARGV) unless caller;
sub run {
my ( $signal, @args ) = @_;
if ( !@args ) {
die "Give a signal and PIDs.\n";
}
if ( 0 == index( $signal, '-' ) ) {
warn "Ignoring leading “-” on signal name “$signal” …\n";
substr( $signal, 0, 1, q<> );
}
my @valid = map { split m< > } @Config::Config{ 'sig_name', 'sig_num' };
if ( !grep { $_ eq $signal } @valid ) {
die "Invalid signal: $signal\n";
}
my $ppid = getppid;
my ( $status, $numkilled, $statusmsg ) = Cpanel::Kill::killall( $signal, [@args], $Cpanel::Kill::VERBOSE, [$ppid] );
print "$statusmsg\n";
return ( $status ? 0 : 1 );
}
1;
Zerion Mini Shell 1.0