Mini Shell

Direktori : /scripts/
Upload File :
Current File : //scripts/quickdnslookup

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

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

use strict;
use Socket;
use Cpanel::Alarm  ();
use Cpanel::Logger ();

Cpanel::Logger->new()->deprecated("'$0' is deprecated, and will be removed in a later version of cPanel.");

my $lookuptimeout = 10;
my $child         = 0;

foreach my $name (@ARGV) {
    if ( my $child <= 15 ) {
        if ( fork() ) {
            $child++;

            #master
        }
        else {
            my $ip = iplookup($name);
            print "$name=$ip\n";
            exit;
        }
    }
    else {
        sleep 1;
    }

    while ( waitpid( -1, 1 ) > 0 ) {
        $child--;
    }
}

while ( waitpid( -1, 0 ) > 0 ) {
    $child--;
}

sub iplookup {
    my $domain = shift;
    my $alarm  = Cpanel::Alarm->new($lookuptimeout);
    return join( '.', unpack( 'C4', ( gethostbyname($domain) )[4] ) );
}

Zerion Mini Shell 1.0