Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
x86_64-linux-gnu /
perl5 /
5.34 /
Proc /
Delete
Unzip
Name
Size
Permission
Date
Action
ProcessTable
[ DIR ]
drwxr-xr-x
2024-02-17 03:54
Killall.pm
2.66
KB
-rw-r--r--
2021-08-15 01:07
Killfam.pm
1.32
KB
-rw-r--r--
2021-08-15 01:07
ProcessTable.pm
6.51
KB
-rw-r--r--
2021-09-27 08:03
Save
Rename
$Proc::Killfam::VERSION = '1.0'; package Proc::Killfam; use Exporter; use base qw/Exporter/; use subs qw/get_pids/; use vars qw/@EXPORT @EXPORT_OK $ppt_OK/; use strict; use warnings; @EXPORT = qw/killfam/; @EXPORT_OK = qw/killfam/; BEGIN { $ppt_OK = 1; eval "require Proc::ProcessTable"; if ($@) { $ppt_OK = 0; warn "Proc::ProcessTable missing, can't kill sub-children."; } } sub killfam { my($signal, @pids) = @_; if ($ppt_OK) { my $pt = Proc::ProcessTable->new; my(@procs) = @{$pt->table}; my(@kids) = get_pids \@procs, @pids; @pids = (@pids, @kids); } kill $signal, @pids; } # end killfam sub get_pids { my($procs, @kids) = @_; my @pids; foreach my $kid (@kids) { foreach my $proc (@$procs) { if ($proc->ppid == $kid) { my $pid = $proc->pid; push @pids, $pid, get_pids $procs, $pid; } } } @pids; } # end get_pids 1; __END__ =head1 NAME Proc::Killfam - kill a list of pids, and all their sub-children =head1 SYNOPSIS use Proc::Killfam; killfam $signal, @pids; =head1 DESCRIPTION B<killfam> accepts the same arguments as the Perl builtin B<kill> command, but, additionally, recursively searches the process table for children and kills them as well. =head1 EXAMPLE B<killfam 'TERM', ($pid1, $pid2, @more_pids)>; =head1 KEYWORDS kill, signal =cut