構文
#include <ulimit.h>
long ulimit(int cmd, ...);
特記事項
ANSI C ", ...\$ " 構文は、可変長の引き数リストを意味し、そのオプションの (または必須の) メンバーは、対応するコメント
(/* */) の中に示されています。
説明
ulimit() はプロセスの上限制御を提供します。 cmd に使用可能な値は次のとおりです。
| UL_GETFSIZE | | プロセスのファイルサイズ上限を取得します。 上限は 512 バイトブロック単位で、子プロセスに引き継がれます。
任意のサイズのファイルが読み取れます。 オプションの第 2 引き数は使用されません。 |
| UL_SETFSIZE | | プロセスのファイルサイズ上限を、(long 型と見なされる)
オプションの第 2 引き数の値に設定します。 任意のプロセスがこの上限を下げることができますが、
(スーパーユーザー の実効ユーザー ID を持つプロセスだけが) 上限を上げることができます。
上限は 512 バイトブロック単位で指定する必要があることに注意してください。 |
| UL_GETMAXBRK | | ブレーク可能最大値を取得します brk(2) を参照)。 スワップ領域などのシステムリソース次第では、
一定の時間この最大値が得られないことがあります。 オプションの第 2 引き数は使用されません。 |
エラー
ulimit() は次の条件のいずれかを満たす場合に異常終了します。
| [EINVAL] | | cmd が正しくありません。 |
| [EPERM] | | スーパーユーザー以外の実効ユーザー ID を持つ プロセスがファイルサイズ上限を上げようとすると、 ulimit() は異常終了し、上限は変更されません。 |
戻り値
正常終了すると負でない値を返します。 エラーの場合-1 を返し、エラーを示す値が errno にセットされます。
標準準拠
ulimit(): AES, SVID2, SVID3, XPG2, XPG3,
XPG4