\!/ KyuuKazami \!/

Path : /scripts/
Upload :
Current File : //scripts/restartsrv_inetd

#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - restartsrv_inetd                          Copyright 2011 cPanel, Inc.
#                                                           All rights Reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

use strict;
use Cpanel::RestartSrv       ();
use Cpanel::RestartSrv::Lock ();
use Cpanel::GenSysInfo       ();
use Cpanel::Exception        ();

eval {
    local $SIG{'__DIE__'};
    require Cpanel::Rlimit;
    Cpanel::Rlimit::set_rlimit_to_infinity();
};

Cpanel::RestartSrv::setuppath();

my ( $restart, $check, $status ) = Cpanel::RestartSrv::parseargv();

my $iscript        = '';
my $initdir        = '';
my $service        = 'inetd';
my $processowner   = '';
my $overridercconf = '';
my $manualstart    = 0;
my $servicebin     = '';
my $serviceflags   = '';
my $disabled       = 0;

( $processowner, $service, $iscript, $manualstart, $servicebin, $serviceflags, $disabled ) = Cpanel::RestartSrv::servicefixup($service);

if ( Cpanel::GenSysInfo::get_rpm_distro_version() == 7 ) {
    die Cpanel::Exception::create( 'Services::Deprecated', [ service => $service ] )->to_string . "\n";
}

my $installed = $iscript ? 1 : 0;

if ( $restart && !$disabled ) {

    die Cpanel::Exception::create( 'Services::NotInstalled', [ service => $service ] ) if !$installed;
    my $lock = Cpanel::RestartSrv::Lock->new($service);

    if ( $manualstart != 1 ) {
        Cpanel::RestartSrv::nooutputsystem( $iscript, 'stop' );
        Cpanel::RestartSrv::doomedprocess($service);
        if ( $restart != -1 ) {
            Cpanel::RestartSrv::logged_startup( $service, 1, [ $iscript, 'start' ] );
        }
    }
    else {
        Cpanel::RestartSrv::doomedprocess($service);
        if ( $restart != -1 ) {
            Cpanel::RestartSrv::logged_startup( $service, 1, [ $servicebin, $serviceflags ] );
        }
    }

    $lock->release() if $lock;

}
elsif ($status) {

    #--status (show ps)
    if ($disabled) {
        print "$service is disabled\n";
    }
    else {
        die Cpanel::Exception::create( 'Services::NotInstalled', [ service => $service ] ) if !$installed;
        print Cpanel::RestartSrv::check_service( 'service' => $service, 'user' => $processowner, 'pidfile' => '/var/run/' . $service . '.pid' );
    }
}
elsif ($check) {
    exit if ($disabled);

    die Cpanel::Exception::create( 'Services::NotInstalled', [ service => $service ] ) if !$installed;
    if ( Cpanel::RestartSrv::check_service( 'service' => $service, 'user' => $processowner, 'pidfile' => '/var/run/' . $service . '.pid' ) eq '' ) {
        print "$service is not running\n";
    }
}

@KyuuKazami