DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

ulimit(S)


ulimit -- get and set user limits

Synopsis

   #include <ulimit.h>
   

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

Description

This function provides for control over process limits. The cmd values available are:

UL_SFILLIM
Set the regular file size limit of the process to the value of newlimit, taken as a long. Any process may decrease this limit, but only a process with the P_SYSOPS privilege may increase the limit.

UL_GFILLIM
Get the regular file size limit of the process. The limit is in units of 512-byte blocks and is inherited by child processes. Files of any size can be read.

UL_GMEMLIM
Get the maximum possible break value [see brk].

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

Return values

On success, ulimit returns a non-negative value that depends on cmd as described above. On failure, ulimit returns -1 and sets errno to identify the error.

Errors

In the following conditions, ulimit fails and sets errno to:

EINVAL
The cmd argument is not valid.

EPERM
An attempt was made to increase the process's file size limit and the calling process does not have the P_SYSOPS privilege.

References

Intro(S), brk(S), getrlimit(S), privilege(M), write(S)

Notices

ulimit is effective in limiting the growth of regular files. Pipes are currently limited to {PIPE_MAX}.

The getrlimit system call provides a more general interface for controlling process limits.

Considerations for threads programming

These resource limits are an attribute of the containing process and are shared by sibling threads.
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 - 01 June 2005