LittleDemon WebShell


Linux sh00002.bigrock.com 5.14.0-687.29.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jul 23 16:18:48 EDT 2026 x86_64
Path : /scripts/
File Upload :
Command :
Current File : //scripts/simpleps

#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/simpleps                        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

## no critic qw(TestingAndDebugging::RequireUseStrict) -- not yet strict safe
## no critic qw(TestingAndDebugging::RequireUseWarnings) -- not yet warnings safe
package scripts::simpleps;

use Cpanel::Encoder::Tiny ();

exit( __PACKAGE__->script( \@ARGV ) ) if not caller();

sub script {
    my ( $pkg, $argv ) = @_;
    if ( defined $argv->[0] and $argv->[0] eq q{--html} ) {    # --html doesn't use a FORMAT; in this case get_ps just returns the output; so we print it
        print $pkg->get_ps($argv);
    }
    else {                                                     # writes a FORMAT directly to STDOUT in get_ps when not --html
        $pkg->get_ps();
    }
    return;
}

sub get_ps {
    my ( $pkg, $argv ) = @_;

    my $html   = 0;
    my $output = q{};
    if ( $argv->[0] =~ /html/i ) { $html = 1; }

    my ( $proc, $name, $exe, $cwd, $cmd );

    if ( !$html ) {
        print <<EOM;
Pid     Name            Exe                         Cwd
--------------------------------------------------------------------------------
EOM
        format STDOUT =
@<<<<<< @<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<
$proc,  $name,          $exe,                       $cwd
	^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
	$cmd
	^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 	$cmd
	^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
	$cmd
--------------------------------------------------------------------------------
.
    }

    opendir my $PROC, "/proc";
    my @PIDS = readdir $PROC;
    closedir $PROC;

    foreach $proc (@PIDS) {
        if ( $proc =~ /^\d*$/ ) {
            my $ok = open my $PROCC, q{<}, "/proc/$proc/cmdline";
            chomp( $cmd = <$PROCC> );
            close $PROCC;
            $ok = open $PROCC, q{<}, "/proc/$proc/stat";
            my $procps = <$PROCC>;
            chomp $procps;
            close $PROCC;
            ( undef, $name, undef ) = split( /\s/, $procps );

            if ( -e "/proc/$proc/exe" ) {
                $exe = readlink("/proc/$proc/exe");
            }
            else {
                $exe = readlink("/proc/$proc/file");
            }
            $cwd = readlink("/proc/$proc/cwd");
            if ( !$html ) {
                write STDOUT;
            }
            else {
                $cmd =~ s/\0/ /g;
                $output .= "<tr><td>$proc</td><td>" . Cpanel::Encoder::Tiny::safe_html_encode_str($name) . "</td><td>" . Cpanel::Encoder::Tiny::safe_html_encode_str($exe) . "</td><td>" . Cpanel::Encoder::Tiny::safe_html_encode_str($cwd) . "</td><td>" . Cpanel::Encoder::Tiny::safe_html_encode_str($cmd) . "</td></tr>";
            }
        }
    }
    return $output;
}

1;

LittleDemon - FACEBOOK
[ KELUAR ]
Page not found – Sparkplug Films
Small totara tree on ridge above Long Point

Page not found

The page you are looking for doesn't exist, or it has been moved. Please try searching using the form below.