=encoding utf8
=head1 NAME
POSIX::1003::Limit - POSIX access to ulimit and rlimit
=head1 INHERITANCE
POSIX::1003::Limit
is a POSIX::1003::Module
=head1 SYNOPSIS
$size
= ulimit(
'UL_GETFSIZE'
);
$size
= UL_GETFSIZE;
my
$key
=
$ulimit
{UL_GETFSIZE};
$ulimit
{_SC_NEW_KEY} =
$key_code
;
$size
= ulimit(
$key
);
print
"$_\n"
for
keys
%ulimit
;
my
(
$cur
,
$max
,
$success
) = getrlimit(
'RLIMIT_CORE'
);
my
(
$cur
,
$max
) = getrlimit(
'RLIMIT_CORE'
);
my
$cur
= RLIMIT_CORE;
my
$success
= setrlimit(
'RLIMIT_CORE'
, 1e6, 1e8);
setrlimit(
'RLIMIT_CORE'
, 1e6) or
die
;
setrlimit(
'RLIMIT_CORE'
, RLIM_SAVED_MAX, RLIM_INFINITY);
RLIMIT_CORE(1e6, 1e8);
=head1 DESCRIPTION
This module provides access to the
"ulimit"
(user limit) and
"rlimit"
(resource limit) handling. On most systems, C<ulimit()> is succeeded
by C<rlimit()> hence provides a very limited set of features.
See L<documentation in the base class|POSIX::1003::Module/
"DESCRIPTION"
>.
=head1 METHODS
See L<documentation in the base class|POSIX::1003::Module/
"METHODS"
>.
=over 4
=item POSIX::1003::Limit-E<gt>B<exampleValue>(NAME)
See L<POSIX::1003::Module/
"METHODS"
>
=item
$obj
-E<gt>B<
import
>()
See L<POSIX::1003::Module/
"METHODS"
>
=back
=head1 FUNCTIONS
=head2 Standard POSIX
=over 4
=item B<getrlimit>(RESOURCE)
my
(
$cur
,
$max
,
$success
) = getrlimit(
'RLIMIT_CORE'
);
my
(
$cur
,
$max
) = getrlimit(
'RLIMIT_CORE'
);
=item B<setrlimit>(RESOURCE, CUR, [MAX])
my
$success
= setrlimit(
'RLIMIT_CORE'
, 1e6, 1e8);
=item B<ulimit>(NAME)
Returns the ulimit value related to the NAMEd constant. The NAME
must be a string. C<
undef
> will be returned
when
the NAME is not
known by the
system
.
my
$filesize
= ulimit(
'UL_GETFSIZE'
) || SSIZE_MAX;
=back
=head2 Additional
=over 4
=item B<rlimit_names>()
Returns a list
with
all known resource names, unsorted.
=item B<ulimit_names>()
Returns a list
with
all known names, unsorted.
=back
=head1 CONSTANTS
=over 4
=item B<
%ulimit
>
This exported variable is a
tied
HASH which maps C<UL_*> names
on unique numbers, to be used
with
L<ulimit()|POSIX::1003::Limit/
"Standard POSIX"
>.
=item B<
%rlimit
>
This exported variable is a
tied
HASH which maps C<RLIMIT_*> names
on unique numbers, to be used
with
L<getrlimit()|POSIX::1003::Limit/
"Standard POSIX"
> and L<setrlimit()|POSIX::1003::Limit/
"Standard POSIX"
>.
=back
The following constants where detected on your
system
when
the
module got installed. The second column shows the value which
where returned at that
time
.
For ulimit,
with
a value
when
it is a getter:
=
for
comment
UL_GETFSIZE 9223372036854775807
UL_GETMAXBRK
undef
UL_GETOPENMAX 1024
UL_SETFSIZE (setter)
=
for
comment
The constant names
for
rlimit,
with
the soft and hard limits that
L<getrlimit()|POSIX::1003::Limit/
"Standard POSIX"
> returned during installation of the module.
=
for
comment
RLIMIT_AS 18446744073709551615, 18446744073709551615
RLIMIT_CORE 0, 18446744073709551615
RLIMIT_CPU 18446744073709551615, 18446744073709551615
RLIMIT_DATA 18446744073709551615, 18446744073709551615
RLIMIT_FSIZE 18446744073709551615, 18446744073709551615
RLIMIT_LOCKS 18446744073709551615, 18446744073709551615
RLIMIT_MEMLOCK 65536, 65536
RLIMIT_MSGQUEUE 819200, 819200
RLIMIT_NICE 0, 0
RLIMIT_NLIMITS 0, 15
RLIMIT_NOFILE 1024, 4096
RLIMIT_NPROC 61461, 61461
RLIMIT_OFILE 1024, 4096
RLIMIT_RSS 18446744073709551615, 18446744073709551615
RLIMIT_RTPRIO 0, 0
RLIMIT_RTTIME 18446744073709551615, 18446744073709551615
RLIMIT_SIGPENDING 61461, 61461
RLIMIT_STACK 8388608, 18446744073709551615
=
for
comment
=head1 SEE ALSO
This module is part of POSIX-1003 distribution version 0.98,
is released
with
Perl itself. See also L<POSIX::Util>
for
additional functionality.
=head1 COPYRIGHTS
Copyrights 2011-2013 on the perl code and the related documentation
by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.