Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vlimit(3C) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

csh(1)

VLIMIT(3C)  —  NEWS-OS Programmer’s Manual

名称

vlimit −  システムのリソース消費量の最大値を制御する

形式

#include <sys/vlimit.h>

vlimit(resource, value)

解説

現在、この機能を実現するためには getrlimit(2) が使われています。

現在のプロセスおよびそれが生成する各プロセスによるリソース消費量を 制限し、 指定された resource 上の value を それぞれ超えないようにします。 value が −1 と指定されている場合、 現在の制限値が返され、 制限値は変更されません。 現在制御可能なリソースは次のとおりです。

LIM_NORAISE
仮想制限値。 0 以外に設定されている場合、 制限値を 増加させることはできません。 noraise の制限は、 スーパーユーザだけが解除できます。

LIM_CPU 各プロセスが使用する cpu 秒の最大数

LIM_FSIZE 生成できる最大単一ファイル

LIM_DATA sbrk(2) により、 プログラムテキストの最後を 超えて増加するデータ+スタックの範囲の最大値

LIM_STACK 自動拡張されるスタックの範囲の最大値

LIM_CORE 生成されるコアダンプの最大値

LIM_MAXRSS プログラムに与えられる物理メモリのソフトでの限界値(バイト単位)。 メモリが不足気味のとき、 システムは、 宣言された LIM_MAXRSS を 超えるプロセスからメモリを 確保しようと試みます。

この情報はプロセス情報毎に格納されるため、 このシステム呼び出しが、 将来シェルの生成するプロセスに影響を 与える場合、 直接シェルによって実行されなければなりません。 従って、 limit は、 csh(1) の組み込みコマンドです。

通常の方法では制限値を 超えると思われる場合、 システムは、 データまたはスタック領域の拡張を 拒否します。 データ領域の制限値に達した場合、 または、 スタックの制限値に達したときにプロセスが強制終了された場合(スタックを 拡張できないため、 シグナルを 送る方法がない)、 break の呼び出しは失敗します。

大きすぎるファイルを 生成する可能性のあるファイル入出力動作は、 シグナル SIGXFSZ を 生成します。 通常、 これはプロセスを 終了させますが、 捕獲することも可能です。 cpu 時間の制限値を 超えた場合は、 その弊を 起こしたプロセスに SIGXCPU が送られます。 cpu 時間リミットを 掲げることで 5秒の猶予が与えられ、 シグナルの処理が許されます。

関連事項

csh(1)

バグ

LIM_NORAISE は、 現在では存在しません。

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026