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

呼称
形式
解説
共有メモリ上の形式
オプション
標識ファイル
ソース
関連事項