brk - システムコールの説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 説明
- 返り値
- 準拠
- 注意
- 関連項目
名前
brk, sbrk - データ・セグメントのサイズの変更する
書式
#include <unistd.h>
int brk(void *
end_data_segment
);
void *sbrk(intptr_t
increment
);
説明
brk
()は、データ・セグメント (data segment) の最後を
end_data_segment
で指定した値に設定する。
システムが十分なメモリを持ち、
プロセスのデータサイズの最大値を超えていなれば、その値は有効である。
(
setrlimit
(2)を参照)。
sbrk
()は、プログラムのデータ空間を
increment
バイトだけ増やす。
sbrk
()は、システム・コールではなく、C ライブラリにあるラッパー (wrapper) である。
sbrk
()は increment を 0 にして呼び出すことにより、
プログラムの現在のブレーク (break) を知るために使用できる。
返り値
成功した場合、
brk
()は 0 を返し、
sbrk
()は新しい領域の先頭へのポインタを返す。
エラーの場合には、
-1 を返し、
errno
に
ENOMEM
を設定する。
準拠
4.3BSD, SUSv1.
SUSv2 では「過去の名残 (LEGACY)」と位置付けられており、
POSIX.1-2001 で削除された。
brk
()と
sbrk
()は C 規格 (C Standard) には定義されていない。
また POSIX.1 規格からは意図的に除外されている (段落 B.1.1.1.3, B.8.3.3 参照)。
注意
いろいろなシステムにおいて、
sbrk
()の引き数に様々な型が使われている。
一般的なのは int
, ssize_t
, ptrdiff_t
, intptr_t
である。
関連項目
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする