1.10.1基礎
現在のBashと子processに適用される、1 process当たりのopen file descriptor数上限を表示する。
値は変更しない。
適切なコマンドはどれか。
× 不正解
Bash builtinのulimit -nは、current shellが子processへ継承させるopen file descriptor数limitを表示・設定する。
詳細解説
正しい
ulimit -nopen file descriptor数のcurrent limitを表示する。
-nを値なしで実行するとcurrent open-file limitを変更せず表示する。
誤り
ulimit -u最大user process数を扱う。
-uはprocess数を対象とし、file descriptor枯渇の上限ではない。
誤り
ulimit -vvirtual memory量を扱う。
-vはaddress spaceに関係するmemory limitで、open file数ではない。
誤り
ulimit -ccore dump file sizeを扱う。
-cはcore dump file sizeのlimitを表示・設定する。
実際に確かめる
一時的な検証環境で実行できる例です。
bash -c 'ulimit -n'期待される結果
現在のopen file descriptor上限を表す整数理解のポイント
- -nはopen files
- 値なしは表示
- 子processへ継承
確認時の注意
- 確認環境: Bash 5.x / limit参照のみ
基礎のおさらい
resource limit
shellのlimitはそこから起動する子processへ継承され、暴走時のresource消費を抑える。
softとhard
soft limitはprocessが利用する現在値で、hard limitの範囲内なら変更できる。
問題IDKL-102-1127
確認環境Bash 5.x / limit参照のみ
最終技術確認2026-08-13
誤り・権利侵害を報告