remaining updates to 4.2-20010112-STABLE

Submitted by:SUZUKI Koichi <metal@vc-net.ne.jp>
Reviewed by:HIRATA Tadashi <heita@mb.infoweb.ne.jp>
This commit is contained in:
Kazuo Horikawa 2001-03-23 21:32:34 +00:00
parent c9c0c2bc1e
commit 475f484887
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=9055
13 changed files with 272 additions and 261 deletions

View file

@ -36,7 +36,7 @@
.Os BSD 4
.Sh 名称
.Nm open
.Nd 読取りまたは書込み用にファイルを開くかまたは作成する
.Nd 読取りまたは書込み用にファイルをオープンする、または作成する
.Sh ライブラリ
.Lb libc
.Sh 書式
@ -45,18 +45,20 @@
.Fn open "const char *path" "int flags" "..."
.Sh 解説
.Fa path
によって指定されるファイル、引数
によって指定されるファイル、引数
.Fa flags
によって指定されたように読取りまたは書込み (またはその両方) 用に開かれ、
そのファイル記述子は呼び出し元プロセスに返されます。
によって指定されたように読取りまたは書込み
(またはその両方) 用にオープンし、
そのファイル記述子を呼び出し元プロセスに返します。
ファイルが存在しない場合にはファイルを
作成するように、
.Fa flags
引数で、
引数で指示できます
.Dv ( O_CREAT
フラグを指定することによって) ファイルが存在しない場合にファイルを
作成するように指示できます。
フラグを指定する)。
この場合、
.Nm
は 3 番目の引数
は 3 番目の引数
.Fa "mode_t mode"
が必要であり、ファイルは
.Xr chmod 2
@ -72,20 +74,21 @@
で作成されます。
.Pp
.Bd -literal -offset indent -compact
O_RDONLY 読取り専用で開く
O_WRONLY 書込み専用で開く
O_RDWR 読取りと書込み用に開く
O_NONBLOCK 開くときにブロックしない
O_RDONLY 読取り専用でオープン
O_WRONLY 書込み専用でオープン
O_RDWR 読取りと書込み用にオープン
O_NONBLOCK オープンするときにブロックしない
O_APPEND 書込みのたびに末尾に追加する
O_CREAT ファイルが存在しない場合、作成する
O_TRUNC サイズを 0 に切り捨てる
O_EXCL ファイルを作成し、存在する場合はエラー
O_EXCL 作成するファイルが既に存在した場合、エラーとする
O_SHLOCK 共有ロックを自動的に取得する
O_EXLOCK 排他的ロックを自動的に取得する
.Ed
.Pp
.Dv O_APPEND
を設定してファイルを開くと、ファイルへ書込むごとに末尾に追加されます。
を設定してファイルをオープンすると、
ファイルへの書込みはすべてファイルの末尾に追加されます。
.Dv O_TRUNC
が指定されていてファイルが存在する場合、ファイルは長さ 0 に
切り捨てられます。
@ -99,29 +102,28 @@ O_EXLOCK
実現できます。
.Dv O_EXCL
が設定されていてパス名の最後の構成要素がシンボリックリンクの場合、
シンボリックリンクが存在しない名前を指していても
たとえシンボリックリンクが存在しない名前を指していたとしても
.Fn open
は処理に失敗します。
.Dv O_NONBLOCK
フラグが指定されていて
.Fn open
呼び出しの結果が何らかの理由でプロセスがブロックされると (たとえば、
ダイアルアップ回線でのキャリアの待機)、
呼び出しの結果、プロセスが何らかの理由でブロックされると (たとえば、
ダイアルアップ回線でキャリアを待っている場合)、
.Fn open
は即座に戻ります。プロセスが開いたファイルに
は即座に戻ります。プロセスがオープンしたファイルに
最初に入出力しようとしたとき、プロセスはブロックします
(現時点では実装されていません)。
.Pp
ファイルを開くときに、共有ロックについては
ファイルをオープンするときに、
.Xr flock 2
を使ったロックを得るには、共有ロックについては
.Dv O_SHLOCK
排他的ロックについては
.Dv O_EXLOCK
設定することによって
.Xr flock 2
によってロックが得られます。
を設定します。
.Dv O_CREAT
でファイルを作成する場合、ロックについての要求は処理に失敗すること
でファイルを作成する場合、ロック要求が失敗すること
はありません (ただし、下層にあるファイルシステムが
ロックをサポートしている場合に限ります)。
.Pp
@ -131,19 +133,19 @@ O_EXLOCK
処理に失敗すると -1 を返します。ファイル内の現在の位置をマークする
ファイルポインタはファイルの先頭に設定されます。
.Pp
新しいファイルが作成されるとき、そのファイルにはそれが含まれている
ディレクトリのグループが与えられます。
新しいファイルが作成される場合、そのグループは
ファイルが含まれるディレクトリのグループに設定されます。
.Pp
新しい記述子は
.Xr execve 2
システムコールを通じて開いたままに設定されます。
システムコールを通じてオープンされたままであるように設定されます。
.Xr close 2
.Xr fcntl 2
を参照してください。
.Pp
システムには、1 つのプロセスによって同時に開けるファイル記述子数に
制限があります。
システムには、1 つのプロセスによって同時にオープンできる
ファイル記述子数に制限があります。
.Xr getdtablesize 2
は現在のシステム制限を返します。
.Pp
@ -174,7 +176,7 @@ O_EXLOCK
.Va errno
が設定されます。
.Sh エラー
指定のファイルは次の場合を除いて開かれます。
指定のファイルは次の場合を除いてオープンされます。
.Bl -tag -width Er
.It Bq Er ENOTDIR
パスの構成要素中にディレクトリ以外のものが含まれています。
@ -182,12 +184,13 @@ O_EXLOCK
パス名の構成要素が 255 文字を越えているか、
またはパス名全体が 1023 文字を越えています。
.It Bq Er ENOENT
指定されたファイルが存在せず、
.Dv O_CREAT
が設定されてなく、指定されたファイルが存在しません。
も設定されていません。
.It Bq Er ENOENT
存在しなければならないパス名の構成要素が存在しません。
.It Bq Er EACCES
前置パス名の構成要素について検索許可が拒否されています。
指定されたパスには、検索が許可されていないディレクトリが含まれています。
.It Bq Er EACCES
要求されたパーミッション (読取りまたは書込み用、または両方) が
指定のフラグに拒否されています。
@ -198,22 +201,24 @@ O_EXLOCK
.It Bq Er ELOOP
パス名を変換するときに検出されたシンボリックリンクが多すぎます。
.It Bq Er EISDIR
指定のファイルがディレクトリであり、引数が書込み用に開くことを
指定しています。
指定のファイルがディレクトリであり、これを書込み用に
オープンするように引数が指定されています。
.It Bq Er EROFS
指定されたファイルは読取り専用ファイルシステム上にあり、
そのファイルを修正しようとしています。
.It Bq Er EMFILE
プロセスは、開いたファイル記述子に関する制限に達しています。
プロセスは、すでにオープンできるファイル記述子に関する
制限に達しています。
.It Bq Er ENFILE
システムファイルテーブルが満杯です。
.It Bq Er ENXIO
指定のファイルはキャラクタ型特殊ファイルまたはブロック型特殊
ファイルであり、この特殊ファイルに対応するデバイスは存在していません。
ファイルであり、この特殊ファイルに結び付けられたデバイスは
存在していません。
.It Bq Er ENXIO
指定されたファイルは FIFO パイプで、どのプロセスからも
読取り用にオープンされていないにも関らず、
書込み用にオープンしようとしました。
これを書込み用にオープンしようとしました。
.It Bq Er EINTR
.Fn open
操作がシグナルによって割り込みされました。
@ -254,9 +259,9 @@ O_EXLOCK
.Dv O_CREAT
用の inode を割当て中に入出力エラーが発生しました。
.It Bq Er ETXTBSY
ファイルは実行中の純粋な手続き (共有テキスト) ファイルであり
ファイルは純粋な手続き (共有テキスト) ファイルで、
.Fn open
呼び出しは書込みアクセスを要求しています。
が書込みアクセスを要求しましたが、ファイルは実行中です。
.It Bq Er EFAULT
.Fa path
は、プロセスに割り当てられたアドレス空間の範囲外を指しています。
@ -266,13 +271,13 @@ O_EXLOCK
.Dv O_EXCL
が指定されていて、ファイルが存在します。
.It Bq Er EOPNOTSUPP
ソケットを開こうとしました (現時点では実装されていません)。
ソケットをオープンしようとしました (現時点では実装されていません)。
.It Bq Er EINVAL
.Dv O_RDONLY ,
.Dv O_WRONLY
および
.Dv O_RDWR
の不正な組合わせで記述子を開こうとしました。
の不正な組合わせで記述子をオープンしようとしました。
.El
.Sh 関連項目
.Xr chmod 2 ,

View file

@ -51,7 +51,7 @@
.Fn pathconf
関数と
.Fn fpathconf
関数は、構成可能なシステム限界の現在値、またはパス名または
関数は、構成可能なシステム限界の現在値、またはパス名
ファイル記述子に対応するオプション変数を
アプリケーションが判定する方法を提供します。
.Pp
@ -76,9 +76,9 @@
.It Li _PC_LINK_MAX
最大のファイルリンクカウント。
.It Li _PC_MAX_CANON
端末標準入力回線の最大バイト数。
端末の標準モード入力待ち行列の最大バイト数。
.It Li _PC_MAX_INPUT
端末入力待ち行列内空間で利用できる最小の最大バイト数。
端末入力待ち行列内空間で利用できる最大バイト数の最小値
.It Li _PC_NAME_MAX
ファイル名の最大バイト数。
.It Li _PC_PATH_MAX
@ -86,14 +86,13 @@
.It Li _PC_PIPE_BUF
パイプに自動的に書込まれる最大バイト数。
.It Li _PC_CHOWN_RESTRICTED
該当する特権が
.Xr chown 2
システムコールについて要求される場合は 1 を
システムコールを実行するのに、適切な特権が必要な場合は 1 を
返し、そうでない場合は 0 を返します。
.It Li _PC_NO_TRUNC
KERN_NAME_MAX より長いファイル名切り捨てられる場合は 1 を返します。
KERN_NAME_MAX より長いファイル名切り捨てられる場合は 1 を返します。
.It Li _PC_VDISABLE
値を無効にする終了文字を返します。
端末制御文字を無効にするための値を返します。
.El
.Sh 戻り値
.Fn pathconf
@ -101,8 +100,9 @@ KERN_NAME_MAX
.Fn fpathconf
の呼び出しが正常に完了しない場合は -1 が返され、
.Va errno
が適宜設定されます。
変数がシステム内に限界のない機能に対応していると、-1 が返され、
が適切な値に設定されます。
変数に結び付けられた機能がシステム内に限界を持たないとき、
-1 が返され、
.Va errno
は修正されません。
それ以外の場合、現在の変数値が返されます。
@ -119,7 +119,7 @@ KERN_NAME_MAX
.Fa name
引数の値が無効です。
.It Bq Er EINVAL
対応するファイルと変数名の対応付けは実装されていません。
このファイルとこの変数との結び付きは、実装されていません。
.El
.Pp
.Fn pathconf
@ -133,7 +133,7 @@ KERN_NAME_MAX
.It Bq Er ENOENT
指定されたファイルが存在しません。
.It Bq Er EACCES
前置パス名の構成要素について検索許可が拒否されています。
指定されたパスには、検索が許可されていないディレクトリが含まれています。
.It Bq Er ELOOP
パス名を変換するときに検出されたシンボリックリンクが多すぎます。
.It Bq Er EIO

View file

@ -37,7 +37,7 @@
.Os BSD 4
.Sh 名称
.Nm pipe
.Nd プロセス間通信について記述子のペアを作成する
.Nd プロセス間通信のための記述子のペアを作成する
.Sh ライブラリ
.Lb libc
.Sh 書式
@ -51,35 +51,36 @@
.Em pipe
を作成し、ペアのファイル記述子を割り当てます。
.Pp
慣習により 1 番めの記述子が通常、パイプの
.Em read end
として使用され、2 番めの記述子が通常、
.Em write end
ので、
慣習により、通常は 1 番めの記述子がパイプの
.Em 読取り側
として使用され、2 番めの記述子が
.Em 書込み側
として使用されます。ですので、
.Fa fildes[1]
に書込まれたデータが
.Fa fildes[0]
に現れます (すなわち、
.Fa fildes[0]
から読取れます)。
これによって 1 つのプログラムの出力が別のプログラムに送信できます。
ソースの標準出力はパイプの書込み終端であるようにセットアップされ
シンクの標準入力はパイプの読取り終端であるようにセットアップされます
パイプ自体は、すべての対応する記述子が閉じるまで持続します。
これを使えば 1 つのプログラムの出力を別のプログラムに送信できます。
送信側の標準出力をパイプの書込み側としてセットアップし
受信側の標準入力をパイプの読取り側としてセットアップしてください
パイプ自体は、すべての対応する記述子がクローズされるまで持続します。
.Pp
1 端が閉じているパイプは
端が閉じているパイプは
.Em widowed
(相手を失った) と見なされます。このようなパイプに書込みをすると、
書込みプロセスは
.Dv SIGPIPE
信号を受信します。読取り側にファイルの終了を伝える方法は、
書込み側のパイプを閉じてしまうしかありません。
読取り側がバッファに入っているデータを使用した後、相手を失ったパイプを
シグナルを受信します。読取り側にファイルの終了を伝える方法は、
書込み側のパイプをクローズするしかありません。
読取り側がバッファに入っているデータを使い切った後、相手を失ったパイプを
読取ると 0 カウントが返されます。
.Pp
実装したパイプのこの双方向という性質は古いシステムには移植できないので、
一方向にパイプを使用する
ときは、従来の方法で端点を使用する慣習を使用することをお勧めします。
このパイプの実装における双方向という性質は、
古いシステムと互換性がありません。
ですので、パイプを一方向にしか使用しないときには、
従来の方法で端点を使用するこの慣習に従うことをお勧めします。
.Sh 戻り値
パイプの作成が正常に完了すると、0 を返します。そうでない場合は -1 が返され、
エラーを示すために変数

View file

@ -44,11 +44,11 @@
.Sh 解説
.Fn poll
はファイル記述子の集合を調査して、
それらのいずれか入出力の準備ができているか否かを調べます。
それらのいずれか入出力の準備ができているか否かを調べます。
.Fa fds
引数は
.Aq Pa poll.h
定義された pollfd 配列を指す
定義された pollfd 配列を指す
ポインタ (後述) です。
.Fa nfds
引数は
@ -66,11 +66,11 @@ struct pollfd {
構造体のフィールドは次のとおりです:
.Bl -tag -width XXXrevents
.It fd
ポールするファイル記述子。もし fd が -1 なら
調査するファイル記述子。もし fd が -1 なら
.Fa revents
はクリアされ (0 に設定)、pollfd はチェックされません。
.It events
ポールするイベント (後述)。
調査するイベント (後述)。
.It revents
発生したイベント (後述)。
.El
@ -118,10 +118,12 @@ POLLOUT
.Pp
.Fa timeout
が 0 でも INFTIM (-1) でもない場合、
いずれかのファイル記述子が準備完了になるのを
待機する最大インターバル (ミリ秒単位) を指定します。
この値はいずれかのファイル記述子が準備完了になるのを
待機する最大インターバル (ミリ秒単位) す。
.Fa timeout
が INFTIM (-1) の場合、ポールは永久にブロックします。
が INFTIM (-1) の場合、
.Fn poll
は永久にブロックします。
.Fa timeout
が 0 の場合
.Fn poll
@ -138,14 +140,14 @@ POLLOUT
.Fa fds
配列は変更されません。
.Sh 互換性
この実装は、ある指定のファイル記述子においては
この実装は、ファイル記述子によって
.Fn poll
がエラー付きで戻らない場合があるという点で、
がエラーにならないという点で、
過去のものと異なっています。
過去の実装ではこのようなエラー付きで戻るであろう場合
過去の実装においてエラーになるであろう場合
(たとえば
.Xr revoke 2
された記述子を検査しようとした場合)では、この実装は代わりに
された記述子を検査しようとした場合)、この実装は代わりに
.Fa events
ビットマスクを
.Fa revents
@ -161,9 +163,9 @@ POLLOUT
は、プロセスに割り当てられたアドレス空間の範囲外を指しています。
.It Bq Er EINTR
時間切れになる前に、そして選択されたイベントが発生する前に
シグナルが配信されました。
シグナルを受信しました。
.It Bq Er EINVAL
指定の時間制限が負です
時間制限として負の値が指定されました
.El
.Sh 関連項目
.Xr accept 2 ,

View file

@ -89,15 +89,15 @@
.Fa samples
に不正なアドレスが入っている場合、
.Fn profil
は -1 を返し、プロファイルは終了し
は -1 を返し、プロファイルは終了し
.Va errno
は適宜設定されます。そうでない場合、
設定されます。そうでない場合、
.Fn profil
は 0 を返します。
.Sh ファイル
.Bl -tag -width /usr/lib/gcrt0.o -compact
.It Pa /usr/lib/gcrt0.o
プロファイ C ランタイムスタートアップファイル
プロファイリング用の C ランタイムスタートアップファイル
.It Pa gmon.out
プロファイル出力ファイルの従来の名前
.El

View file

Internal server error - The gay git

500

Internal server error

Forgejo version: 9.0.3

@ -24,45 +24,45 @@
他のプロセス
.\".Em traced
(トレース
されるプロセス)を制御できます。
ほとんどの場合、トレースされるプロセスは正常に実行されますが、
シグナルを受信すると
されるプロセス) を制御できます。
ほとんどの場合、トレースされるプロセスは正常に実行されます
ただし、トレースされるプロセスはシグナルを受信すると
.Po
.Xr sigaction 2
を参照
.Pc
停止します。トレースプロセスは、
.Pc
停止します。トレースするプロセスは、
.Xr wait 2
または
.Dv SIGCHLD
シグナルの配信によって認識し、停止されたプロセスの状態を調査し、
適宜それが終了するかまたは継続するようにします。
シグナルによってこれを検知し、停止されたプロセスの状態を調査し
それを終了させるか、または適切な形で実行を継続させます。
.Fn ptrace
は、これらすべてが行なわれるメカニズムです。
は、これらすべてを制御するメカニズムです。
.Pp
.Fa request
引数は、どの操作が実行中であるかを指定します。
残りの引数の意味は操作で決まりますが、
引数は、どの操作を実行するかを指定します。
残りの引数の意味は操作によって異なります。
後述する 1 つの特殊なケースを除いて、
.Fn ptrace
呼び出しはすべてトレースするプロセスによって行われ、
.Fa pid
引数トレースされるプロセスのプロセス ID を指定します。
引数トレースされるプロセスのプロセス ID を指定します。
.Fa request
は次のものにできます。
.Bl -tag -width 12n
.It Dv PT_TRACE_ME
この要求は、トレースされているプロセスが使用する唯一の要求です。
この要求は、トレースされるプロセスが使用する唯一の要求です。
この要求は、
プロセスがその親によってトレースされると予想されることを宣言します。
プロセスがその親によってトレースされることを宣言します。
他の引数はすべて無視され
ます (親プロセスが子プロセスをトレースすると予想できない場合は、
それはおそらく結果によって
混乱されています。トレースされているプロセスが停止すると、このプロセスは、
ます (親プロセスが子プロセスをトレースない場合は、
かなり混乱した結果になります。
トレースされるプロセスが停止すると、このプロセスは、