Mini Shell
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/restartsrv_inetd 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 cPstrict;
use Cpanel::RestartSrv ();
use Cpanel::RestartSrv::Lock ();
use Cpanel::Services::Enabled ();
use Cpanel::OS ();
use Cpanel::Exception ();
eval {
local $SIG{'__DIE__'};
require Cpanel::Rlimit;
Cpanel::Rlimit::set_rlimit_to_infinity();
};
Cpanel::RestartSrv::setuppath();
my ( $action, $check, $status ) = Cpanel::RestartSrv::parseargv();
my $iscript = '';
my $initdir = '';
my $service = 'xinetd';
my $processowner = 'root';
my $overridercconf = '';
my $manualstart = 0;
my $servicebin = '';
my $serviceflags = '';
my $disabled = 0;
if ( !Cpanel::OS::supports_inetd() ) {
die Cpanel::Exception::create( 'Services::Deprecated', [ service => $service ] )->to_string . "\n";
}
$disabled = scalar grep { !Cpanel::Services::Enabled::is_enabled($_) } qw(inetd xinetd);
$iscript = Cpanel::RestartSrv::getinitfile($service);
my $installed = $iscript ? 1 : 0;
if ( $action && !$disabled ) {
die Cpanel::Exception::create( 'Services::NotInstalled', [ service => $service ] ) if !$installed;
my $lock = Cpanel::RestartSrv::Lock->new($service);
Cpanel::RestartSrv::nooutputsystem( $iscript, 'stop' );
Cpanel::RestartSrv::doomedprocess($service);
if ( $action != $Cpanel::RestartSrv::STOP ) {
Cpanel::RestartSrv::logged_startup( $service, 1, [ $iscript, 'start' ] );
}
$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";
}
}
Zerion Mini Shell 1.0