Ulimit 組込みコマンドはシェルプロセスのリソース制限を表示・設定します。
ulimit [-HSaefilnqrstuvx] [値]
Ulimit コマンドはシェルプロセスのリソース制限値を表示または設定します。-a
(--all
) オプションを付けて実行すると、ulimit コマンドは全ての種類のリソースについて現在の制限値を一覧形式で標準出力に出力します。-a
(--all
) オプションを付けないで実行すると、一種類のリソースについて制限値を表示または設定します。オペランドで値を指定している場合、その値に制限値を設定します。値を指定していない場合は現在の制限値を標準出力に出力します。表示・設定するリソースの種類はオプションで指定します。
リソースの各種類について、ハードリミットとソフトリミットの二種類の制限値があります。ソフトリミットがハードリミットを超えることはできません。またハードリミットを緩めるには専用の権限が必要です。
-H
(--hard
) オプションを指定している場合、ulimit コマンドはハードリミットを表示または設定します。-S
(--soft
) オプションを指定している場合、ulimit コマンドはソフトリミットを表示または設定します。どちらのオプションも指定してない場合、ulimit コマンドはソフトリミットのみを表示するかまたはハードリミットとソフトリミットの両方を設定します。
-H
, --hard
-S
, --soft
-a
, --all
以下のオプションは表示・設定するリソースの種類を指定します。これらのオプションがどれも与えられていないときは、-f
が与えられたものとみなします。(表示・設定可能なリソースの種類はシステムによって異なります)
-c
, --core
-d
, --data
-e
, --nice
-f
, --fsize
-i
, --sigpending
-l
, --memlock
-m
, --rss
-n
, --nofile
-q
, --msgqueue
-r
, --rtprio
-s
, --stack
-t
, --cpu
-u
, --nproc
-v
, --as
-x
, --locks
hard
、soft
、unlimited
のいずれかの文字列を指定することもできます。これらの文字列はそれぞれ現在のハードリミットの値、現在のソフトリミットの値、無制限を表します。
リソース制限値が正しく出力または設定できたときは、終了ステータスは 0 です。エラーがあると終了ステータスは非 0 です。
POSIX が規定しているオプションは -f
だけです。また POSIX はオペランドの値として自然数しか規定していません。