wdisk
Section: WIN SYSTEM (1W)
Updated: 2019.11.6
Index
Return to Main Contents
呼称
wdisk, wdisk60, wdiskd, wdisk60d - win 形式データのディスクファイルへの書き込み
形式
wdisk
[-Dacdhmns] [-t chfile] shmkey outdir
[nfiles/freespace [logfile]]
wdiskd
[-acdhmns] [-t chfile] shmkey outdir
[nfiles/freespace [logfile]]
wdisk60
[-Dacns] [-t chfile] shmkey outdir
[nfiles/freespace [logfile]]
wdisk60d
[-acns] [-t chfile] shmkey outdir
[nfiles/freespace [logfile]]
解説
wdisk、wdisk60、wdiskd、wdisk60d
は、キー
shmkey
の共有メモリ・セグメントに書き込まれている、時間順に整列され
た win 形式のデータを、ディスクのディレクトリ
outdir
の中に、win 形式のファイルとして書き込みます。
shmkey
として '-'を指定した場合は、入力データを共有メモリのかわりに
標準入力から読み込みます。その場合の入力データの
形式は wdiskts(1W) の出力ファイルと同じです。
wdisk の出力ファイルの形式は、
1分間分ずつ'YYMMDDhh.mm' の形式の名前で、
1時間分ずつ'YYMMDDhh' の形式の名前で、
1日間分ずつ'YYMMDD' の形式の名前で、
のいずれかを選ぶことができます。デフォルトは1番目の形式です。
wdisk60 では2番目の形式がデフォルトです。
nfiles
は保存するべき最大のファイル数で、常時最新の
nfiles
個のファイルが保存され、それより古いファイルは消されていきます。ただし、
オプション
-s
を指定した場合は、常に確保すべきスペース(MB)を指定したことになります。
nfiles/freespace
を指定しないか、'0' を指定すると、ファイルを自動的に消すことは
しません。
wdiskd, wdisk60d は daemon モードで起動します。wdisk, wdisk60 でオプショ
ン
-D
を指定した時と同じ動作です。
ログファイル名
logfile
を指定すると、ここに動作ログがとられます。
指定しないとログ情報は標準出力に
送られます(ただし、daemon モードで動いている時は syslogd(8) に送られます)。
ログファイルは書き込みのたび毎にオープン/クローズされます。
wdisk, wdisk60, wdiskd, wdisk60d は引数なしで起動すると簡単な使用法を
表示します。
wdisk, wdisk60, wdiskd, wdisk60d は、書き込みの瞬間だけ出力ファイルを
オープンし、その間に限り、出力ファイルに排他的ロック
(アドバイザリーロック)をかけます。これは insert_raw2(1W) 等
との間で同時書き込みによる矛盾が生じないようにするためです。
出力が時/日ファイルやチャネル毎ディレクトリの形式の場合、
これらの
出力ファイルに order(1W) / wdiskts(1W) が生成した
遅延データを差し込むには、
insert_raw2(1W) を使用する必要があります。
共有メモリ上の形式
order(1W) を参照してください。
オプション
- -D
-
daemon モードで起動します。
- -a
-
出力ファイルをチャネル毎のディレクトリに分けて書き込みます。
この場合、
outdir
下に16進数4桁のチャネル番号を名前とするディレクトリが作られ、その下に
出力ファイルが書き出されます。ただし、後述の標識ファイル類は、
outdir
直下ではなく、そこに作られる .wdisk という名前のディレクトリの下に作られます。
ここには、データファイル名と同じ名前で大きさがゼロである管理作業用の
ダミーファイルも作られ、これらはwdiskがファイル数を管理するために
使われます。
- -c
-
このオプションを-aオプションとともに指定すると、出力ファイル名に
チャネル番号(16進数4桁)の拡張子が付けられます。
このオプションを付けると-aも付けたものとみなされます。
- -d
-
出力ファイルを、'YYMMDD' の形式の名前をもつ1日分ずつのファイルにします。
- -h
-
出力ファイルを、'YYMMDDhh' の形式の名前をもつ1時間分ずつのファイルにします。
wdisk60, wdisk60d ではこれがデフォルトです。
- -m
-
出力ファイルを、'YYMMDDhh.mm' の形式の名前をもつ1分間分ずつのファイルにします。
wdisk, wdiskd ではこれがデフォルトです。
- -n
-
次節に書いてある動作状況を示す標識ファイルのうち、MAX を除く BUSY、COUNT、
LATEST、OLDEST のファイルを作りません。このオプションを指定した時は、
events(1W)、insert_raw(1W)、wtape(1W)といったこれらの動作状況を見るプ
ログラムは動かせません。
- -s
-
保存すべき出力ファイルを、ファイル数ではなく、常に確保すべきスペースで指定
するようにします。MB 単位で第3引数に指定します。
- -t chfile
-
このオプションを-aオプションとともに指定すると、
outdir
下に作られる、チャネル毎のディレクトリの名前が「観測点名.成分名」の
形式になります。
このオプションを付けると-aも付けたものとみなされます。
チャネル番号と観測点名・成分名の対応を指示するために、チャネル表ファイル
chfile
を指定する必要があります。チャネル表ファイルの形式については
win(1W)を参照してください。
さらに-cオプションも指定してある場合は、
出力ファイルには「観測点名.成分名」の形式の拡張子が付けられます。
chfile
に含まれないチャネルについては、ディレクトリ名、拡張子ともに、
「観測点名.成分名」ではなくチャネル番号になります。
wdisk, wdisk60, wdiskd, wdisk60d プロセスは、HUPシグナルを受けると
chfile
を読み直します。
標識ファイル
wdisk, wdisk60, wdiskd, wdisk60d は出力ディレクトリ
outdir
に(ただし -aオプションを指定した場合は
outdir/.wdisk
に)次のようなテキストファイルを作り、
それぞれの内容によって動作状況を示します。
ただし、オプション -n を指定した場合は MAX のみ作成します。
-
BUSY | 現在書き込み中のファイル名
|
COUNT | 現在のファイル数
|
LATEST | 最も新しく書き込みの完了したファイル
|
MAX | 保存すべきファイルの数/常に確保すべきスペース(MB)
|
OLDEST | 最も古いファイル名
|
wdisk, wdisk60, wdiskd, wdisk60d の動作中でもファイル MAX を書き換える
と、それ以降は「保存されるファイルの数/常に確保すべきスペース(MB)」が
新しい値に変わります。
ソース
- `wdisk.c'
-
関連事項
winformat(1W), order(1W), wtape(1W), win(1W), insert_raw(1W), insert_raw2(1W)
Index
- 呼称
-
- 形式
-
- 解説
-
- 共有メモリ上の形式
-
- オプション
-
- 標識ファイル
-
- ソース
-
- 関連事項
-