System Calls                                            ulimit(2)


     ulimit - get and set process limits


     #include <ulimit.h>

     long ulimit(int cmd, /* newlimit */...);


     The ulimit() function provides for control over process lim-
     its.  It  is  effective  in  limiting  the growth of regular
     files. Pipes are limited to PIPE_MAX bytes.

     The cmd values, defined in <ulimit.h>, include:

     UL_GETFSIZE    Return the soft file size limit of  the  pro-
                    cess.  The  limit  is  in  units  of 512-byte
                    blocks and is inherited by  child  processes.
                    Files  of  any  size  can be read. The return
                    value is the integer part of  the  soft  file
                    size  limit  divided  by  512.  If the result
                    cannot be represented  as  a  long  int,  the
                    result is unspecified.

     UL_SETFSIZE    Set the hard and soft file  size  limits  for
                    output operations of the process to the value
                    of the second argument, taken as a long  int.
                    Any  process may decrease its own hard limit,
                    but   only   a   process   with   appropriate
                    privileges  may  increase  the limit. The new
                    file size limit is  returned.  The  hard  and
                    soft  file  size limits are set to the speci-
                    fied value multiplied by 512. If  the  result
                    would  overflow an rlimit_t, the actual value
                    set is unspecified.

     UL_GMEMLIM     Get the maximum  possible  break  value  (see

     UL_GDESLIM     Get the current value of the  maximum  number
                    of  open  files per process configured in the


     Upon successful completion, ulimit() returns  the  value  of
     the  requested  limit.  Otherwise, -1 is returned, the limit

SunOS 5.11           Last change: 1 Feb 2003                    1

System Calls                                            ulimit(2)

     is not changed, and errno is set to indicate the error.


     The ulimit() function will fail if:

     EINVAL    The cmd argument is not valid.

     EPERM     A    process     that     has     not     asserted
               {PRIV_SYS_RESOURCE} in its effective set is trying
               to increase its file size limit.


     Since all return values  are  permissible  in  a  successful
     situation,  an application wishing to check for error situa-
     tions should set errno to 0, then call ulimit(), and  if  it
     returns -1, check if errno is non-zero.

     The getrlimit() and setrlimit()  functions  provide  a  more
     general  interface  for  controlling process limits, and are
     preferred over ulimit().  See getrlimit(2).


     See attributes(5) for descriptions of the  following  attri-

    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Interface Stability         | Standard                    |


     brk(2),     getrlimit(2),      write(2),      attributes(5),
     privileges(5), standards(5)

SunOS 5.11           Last change: 1 Feb 2003                    2

Man(1) output converted with man2html

FhG Schily's Home VED powered