Provided by: manpages-posix_2017a-2_all bug

PROLOG

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of
       this interface may differ (consult the corresponding Linux  manual  page  for  details  of
       Linux behavior), or the interface may not be implemented on Linux.

NAME

       ulimit — set or report file size limit

SYNOPSIS

       ulimit [-f] [blocks]

DESCRIPTION

       The  ulimit  utility  shall  set  or  report  the file-size writing limit imposed on files
       written by the shell and its child processes (files of any  size  may  be  read).  Only  a
       process with appropriate privileges can increase the limit.

OPTIONS

       The  ulimit  utility shall conform to the Base Definitions volume of POSIX.1‐2017, Section
       12.2, Utility Syntax Guidelines.

       The following option shall be supported:

       -f        Set (or report, if no blocks operand is present), the file size limit in blocks.
                 The -f option shall also be the default case.

OPERANDS

       The following operand shall be supported:

       blocks    The number of 512-byte blocks to use as the new file size limit.

STDIN

       Not used.

INPUT FILES

       None.

ENVIRONMENT VARIABLES

       The following environment variables shall affect the execution of ulimit:

       LANG      Provide a default value for the internationalization variables that are unset or
                 null.  (See  the  Base  Definitions  volume  of   POSIX.1‐2017,   Section   8.2,
                 Internationalization   Variables  for  the  precedence  of  internationalization
                 variables used to determine the values of locale categories.)

       LC_ALL    If set to a non-empty string  value,  override  the  values  of  all  the  other
                 internationalization variables.

       LC_CTYPE  Determine  the  locale for the interpretation of sequences of bytes of text data
                 as characters (for example, single-byte as opposed to multi-byte  characters  in
                 arguments).

       LC_MESSAGES
                 Determine  the  locale  that should be used to affect the format and contents of
                 diagnostic messages written to standard error.

       NLSPATH   Determine the location of message catalogs for the processing of LC_MESSAGES.

ASYNCHRONOUS EVENTS

       Default.

STDOUT

       The standard output shall be used when no blocks operand is present. If the current number
       of  blocks  is  limited, the number of blocks in the current limit shall be written in the
       following format:

           "%d\n", <number of 512-byte blocks>

       If there is no current limit on the number of blocks, in the POSIX  locale  the  following
       format shall be used:

           "unlimited\n"

STDERR

       The standard error shall be used only for diagnostic messages.

OUTPUT FILES

       None.

EXTENDED DESCRIPTION

       None.

EXIT STATUS

       The following exit values shall be returned:

        0    Successful completion.

       >0    A request for a higher limit was rejected or an error occurred.

CONSEQUENCES OF ERRORS

       Default.

       The following sections are informative.

APPLICATION USAGE

       Since  ulimit  affects the current shell execution environment, it is always provided as a
       shell regular built-in. If it is called in a separate utility execution environment,  such
       as one of the following:

           nohup ulimit -f 10000
           env ulimit 10000

       it does not affect the file size limit of the caller's environment.

       Once  a  limit has been decreased by a process, it cannot be increased (unless appropriate
       privileges are involved), even back to the original system limit.

EXAMPLES

       Set the file size limit to 51200 bytes:

           ulimit -f 100

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       The Base Definitions volume of POSIX.1‐2017, Chapter  8,  Environment  Variables,  Section
       12.2, Utility Syntax Guidelines

       The System Interfaces volume of POSIX.1‐2017, ulimit()

COPYRIGHT

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1-2017, Standard for Information Technology -- Portable  Operating  System  Interface
       (POSIX),  The  Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by
       the Institute of Electrical and Electronics Engineers, Inc and The  Open  Group.   In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

       Any  typographical  or  formatting errors that appear in this page are most likely to have
       been introduced during the conversion of the source files to man page  format.  To  report
       such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .