晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /proc/thread-self/root/scripts/ |
Upload File : |
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/transfer_in_progress 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
package scripts::transfer_in_progress;
=encoding utf-8
=head1 NAME
transfer_in_progress
=head1 SYNOPSIS
transfer_in_progress ( --serialize_output | --help )
This script will check if there is an active transfer session.
Options:
--help brief help message
--serialize_output encode output as JSON
=cut
use strict;
use Getopt::Long ();
use Cpanel::Exception ();
use Cpanel::JSON ();
use Cpanel::LoadModule ();
use Whostmgr::Transfers::SessionDB ();
use Try::Tiny;
if ( !caller() ) {
my $serialize_output;
my $help;
Getopt::Long::Configure('pass_through');
Getopt::Long::GetOptionsFromArray(
[@ARGV],
serialize_output => \$serialize_output,
help => \$help,
);
if ($help) {
print _help();
exit 0;
}
my $script_obj = scripts::transfer_in_progress->new();
try {
my $transfer_exists = $script_obj->active_transfer_exists();
$script_obj->_handle_output( $transfer_exists, $serialize_output );
}
catch {
die Cpanel::Exception::get_string($_) . "\n";
};
exit 0;
}
sub new {
my $self = bless {}, __PACKAGE__;
return $self;
}
=head1 METHODS
=over 4
=item B<active_transfer_exists>
A function that indicates if there is an active transfer session (one that is RUNNING or PAUSING).
This function returns 1 if there is an active transfer session and 0 if there isn't.
This function may die if there is any issue connecting to the database or getting the data
from the database.
=back
=cut
sub active_transfer_exists {
my ($self) = @_;
my $session_db = Whostmgr::Transfers::SessionDB->new();
my $sessions = $session_db->list_session_details( [ 'RUNNING', 'PAUSING' ] );
return 0 if !$sessions || !keys %$sessions;
return 1;
}
sub _handle_output {
my ( $self, $transfer_exists, $serialize_output ) = @_;
if ($serialize_output) {
print Cpanel::JSON::Dump(
{
transfer_exists => $transfer_exists,
}
) . "\n";
}
else {
if ($transfer_exists) {
print "An active transfer exists.\n";
}
else {
print "An active transfer does not exist.\n";
}
}
return 1;
}
sub _help {
my $msg = shift;
my $val;
open my $wfh, '>', \$val or die "Failed to open to a scalar: $!";
Cpanel::LoadModule::load_perl_module('Pod::Usage');
Pod::Usage::pod2usage(
-exitval => 'NOEXIT',
-message => $msg,
-verbose => 1,
-noperldoc => 1,
-output => $wfh,
-input => '/usr/local/cpanel/scripts/transfer_in_progress.pod',
);
return $val;
}
1;