回答:
ulimitコマンドは、manで説明されているC関数を使用する組み込みコマンドです。独自のヘルプがBashのmanページに含まれており、でアクセスできますman bash
。
使用可能なすべてのオプションulimit -h
をulimit -a
で一覧表示し、システムに応じて利用可能なすべての制限の種類とその現在の値を一覧表示して、対応する意味を確認できます。
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
ulimit
シェルが確立する制限は、シェル自体とシェルが起動するプログラムに適用されるため、シェルは組み込みである必要があります。唯一の移植可能な引数は-f
(ファイルサイズの制限、512バイト単位)です。ほとんどのシェルにはより多くのオプションがあります。シェルのドキュメントを確認して、それらが何であるかを正確に知る必要があります。bashやkshなどのポータブルシェルでは、対応するオプションがシェルによって認識されている場合でも、一部のUNIXバリアントは制限をサポートしない場合があります。
私が見たすべてのシェルでサポートされているオプション:
-H
:他のオプションと組み合わせて、ハード制限のみを設定または表示します。-S
:他のオプションと組み合わせて、ソフト制限のみを設定または表示します。-c
:最大コアファイルサイズ(512バイトブロック)-d
:最大ヒープ(データセグメント)サイズ(kB)-f
:最大ファイルサイズ(512バイトブロック)-n
:ファイル記述子の最大数-s
:最大スタックサイズ(kB)-t
:最大CPU時間(秒)他のいくつかの非常に一般的なオプション:
-a
:すべての制限を表示します。-m
:最大物理メモリサイズ(kB)-v
:最大仮想メモリサイズ(kB)
ulimit -h
少なくともBash 4.2.25ではサポートされていないことに注意してください。