File: //scripts.20110531.215904.25158/disable_unused_xinetd
#!/usr/bin/perl
# cpanel - disable_unused_xinetd Copyright(c) 2010 cPanel, Inc.
# All rights Reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
BEGIN { unshift @INC, '/usr/local/cpanel'; }
use strict;
use Cpanel::FindBin ();
use Cpanel::SafeRun::Simple ();
use Cpanel::Logger ();
my $logger = Cpanel::Logger->new();
my $ps = Cpanel::FindBin::findbin('ps');
my $hasxinetd = Cpanel::SafeRun::Simple::saferun( 'ps', 'uxawwww' );
if ( $hasxinetd =~ /\s+xinetd/ ) {
my $lsof = Cpanel::FindBin::findbin( 'lsof', 'path' => [ '/usr/sbin', '/usr/local/sbin', '/usr/bin', '/usr/local/bin' ] );
my @lsof_lines = grep( /^xinetd/, split( /\n/, Cpanel::SafeRun::Simple::saferun( $lsof, '-n', '-P' ) ) );
if ( !@lsof_lines ) { exit; }
if ( grep( /LISTEN|\*|socket|pipe/, @lsof_lines ) ) {
exit;
}
#----------------------------------------------------------------------
if ( -x '/scripts/cpservice' ) {
Cpanel::SafeRun::Simple::saferun( '/scripts/cpservice', 'xinetd', 'stop' );
Cpanel::SafeRun::Simple::saferun( '/scripts/cpservice', 'xinetd', 'disable' );
}
else {
$logger->warn("cpservice is not available. Please check its status.");
}
#----------------------------------------------------------------------
}