package Psh
::Builtins
::Ulimit
;
RLIMIT_CORE
=> 'maximum size of core files',
RLIMIT_DATA
=> 'maximum size of data segment',
RLIMIT_FSIZE
=> 'maximum file size',
RLIMIT_MEMLOCK
=> 'maximum size of locked memory',
RLIMIT_RSS
=> 'maximum resident size',
RLIMIT_NOFILE
=> 'maximum number of open files',
RLIMIT_NPROC
=> 'maximum number of user processes',
RLIMIT_STACK
=> 'maximum stack size',
RLIMIT_CPU
=> 'maximum cpu time',
RLIMIT_AS
=> 'size of virtual memory',
local @ARGV = @
{shift()};
Psh
::Util
::print_error_i18n
('bi_bsdresource');
my $limits= BSD
::Resource
::get_rlimits
();
push @ARGV,'-c' unless @ARGV;
my $opts= join('', keys %map,'SHa');
Getopt
::Std
::getopts
($opts,\
%opts);
foreach (keys %$limits) {
my ($soft, $hard)= BSD
::Resource
::getrlimit
($limits->{$_});
$val= $hard if $type eq 'H';
$val= 'unlimited' if $val<0;
Psh
::Util
::print_out
(sprintf("%-50s %s\n",$desc{$_},$val));