shmdump

Section: WIN SYSTEM (1W)
Updated: 2014.11.12
Index Return to Main Contents
 

名称

shmdump - 共有メモリ・セグメント上のデータのモニタ  

形式

shmdump [-amoqrtwxz] [-s sec] [-f file] shmkey/- [ ch ... ]  

解説

shmdump は、キー  shmkey で与えられる共有メモリ・セグメントに巡回的に書き込まれている データの、各ブロックの最初の部分を読んでダンプしていきます。  shmkey として "-" を指定すると、共有メモリのかわりに標準入力から データが読み込まれます。 チャネルのリスト ch ... を指定すると、指定されたチャネルはすべて、1行1チャネルの形式で ダンプされます。 shmdump は共有メモリ上のブロック形式として、「書き込み時刻」付きの もの(recvt(1W)参照)および「書き込み時刻」無しのもの (order(1W)参照)のどちらでも、自動的に判別して読むことができます。 表示形式は以下のとおりです。  

「書き込み時刻」無しの場合

まずブロックサイズ(バイト)、次にタイムスタンプの時刻(年〜秒)を12桁で、 次に最初のチャネルブロックの先頭8バイトを16進数で表示します。  

「書き込み時刻」付きの場合

まずブロックサイズ(バイト)、続いて「書き込み時刻(RT=RealTime)」を年〜秒の 12桁で、その後にそれとタイムスタンプの時刻(TS=TimeStamp)との差 (RT-TS)を秒単位で表示し、次にタイムスタンプの時刻(TS)を年〜秒の12桁で、 次に最初のチャネルブロックの先頭8バイトを16進数で表示します。

上のいずれの場合でも、特定のチャネルを指定しないときは、 1ブロック(1秒分)の情報が1行に表示されますが、 チャネルのリストを指定したときは、1つの秒ブロックに複数のチャネルが入って いても、先頭のタイムスタンプが各行にコピーされて出力されます。  

オプション

-a
すべてのチャネルについてダンプします。なおこのオプションを指定した場合、 -{L,H,B}オプションが無効になってしまいますので注意してください。
-f file
チャネルのリストをファイル file から読み込みます。ファイル名の代わりに "-" を指定すると、標準入力から読み込みます。 リストは、空白、タブまたは改行で区切られた、16進数のチャネル番号です。 チャネルリストを標準入力から与えることと、データを標準入力から与えることは、 順序としてこの順番に読み込まれるので、両方同時に設定してもうまく行く場合が あるかもしれませんが、あまりお勧めしません。
なお,-rオプションまたは-xオプションが指定されたとき, file は出力ファイルを指定するのに使用することができます. このとき, file は書き込みのたびにオープン/クローズされますので外部のプログラムによる ファイルのローテーション等が可能です.
-m
MON形式のデータを扱います。データがMON形式のときはこれを 指定しなければなりません。MON形式については raw_mon(1W)を 参照してください。
-o
指定されたチャネル(-aオプションが指定されたときは全チャネル) のデータをWIN形式のまま、標準出力に書き出します。 このとき、通常の(1行1チャネルの)ダンプ出力は標準エラー出力に 書き出されます。
-q
1行1チャネルの形式のダンプ出力を抑制します。ふつうは-oオプション または-tオプションとともに指定されます。
-r
無変換で標準出力に書き出します。 このとき、通常の(1行1チャネルの)ダンプ出力は標準エラー出力に 書き出されます。このオプションを指定した場合は、-f-q-s 以外のすべてのオプションは無効になります。
-s sec
sec 秒間実行後、終了します。ふつうはこれで約 sec 秒分のデータがダンプされる ことになります。これを指定しない場合は、shmdumpは割り込みがあるまで 止まりません。
-t
指定されたチャネル(-aオプションが指定されたときは全チャネル) のデータをテキスト形式に変換して、標準出力に書き出します。 このとき、通常の(1行1チャネルの)ダンプ出力は標準エラー出力に 書き出されます。1秒分の形式は次の通りです。秒ヘッダー行に続いて、 1行に1チャネル×1秒分のデータが空白で区切って出力されます。
年 月 日 時 分 秒 実チャネル数<new-line>
チャネル番号 サンプリングレート データ データ ....<new-line>
チャネル番号 サンプリングレート データ データ ....<new-line>
-w
指定されたチャネル(-aオプションが指定されたときは全チャネル) のデータをWIN形式のまま一時ファイルに書き出し、続いてwin(1W)を起動します。 一時ファイルが作られるのは、環境変数 TMP に設定されたディレクトリ、それが なければ 環境変数 TEMP に設定されたディレクトリ、それもなければカレント ディレクトリです。このオプションは -oオプションを含みます。
-x
無変換(ただし16進数表示)で標準出力に書き出します。このとき1パケットが 1行になります. このとき、通常の(1行1チャネルの)ダンプ出力は標準エラー出力に 書き出されます。このオプションを指定した場合は、-f-q-s 以外のすべてのオプションは無効になります。
-z
データを共有メモリセグメントの先頭から読み出します。これが指定されないと、 データは最新の書き込み部分から(それの書き込みが終るのを待って)読み出されます。
-{L,H,B}
-tq を指定した場合の出力データにコマンドラインで指定したフィルターの特性で フィルターをかけます。フィルターの係数の決定には、
斉藤正徳,1978,漸化式ディジタル・フィルターの自動設計,物理探鉱,31, 112-135
のプログラムを使用しています。設定パラメタの選び方についてはこの 文献を参照してください。
-L fp:fs:ap:as
-tq を指定した場合の出力データにローパスをかけます。
-H fp:fs:ap:as
-tq を指定した場合の出力データにハイパスをかけます。
-B fl:fh:fs:ap:as
-tq を指定した場合の出力データにバンドパスをかけます。
-R rate
-tq を指定した場合の出力データをrateでリサンプリングします。
 

使用例

shmdump 11 0200
  チャネル0200だけを(あれば必ず)リストする

shmdump 11 0200 0201 0202
  チャネル0200,0201,0202を(あれば必ず)リストする

echo 0200 0201 0202 | shmdump -f - 11
  上と同じ。チャネルのリストを標準入力から与える

shmdump -f aso.ch 11
  チャネルファイル aso.ch にあるチャネルを(あれば必ず)リストする

shmdump -of aso.ch 11 > aso.dat
  チャネルファイル aso.ch にあるチャネルの波形を aso.datに出力

shmdump -of aso.ch -s 10 11 > aso.dat
  チャネルファイル aso.ch にあるチャネルの波形を約10秒分 aso.datに出力

shmdump -wf aso.ch -s 10 11
  チャネルファイル aso.ch にあるチャネルの波形を約10秒分winで表示

grep -w HIT /dat/etc/channels.tbl|shmdump -ws 10 -f - 11
  観測点 HIT の波形を約10秒分winで表示

cat 041222.1717|shmdump -tq - 0252
  ディスクファイル041222.1717からチャネル0252をテキスト形式で出力
 

ソース

shmdump.c
 

関連事項

winformat(1W), recvt(1W), order(1W), win(1W), raw_mon(1W)


 

Index

名称
形式
解説
「書き込み時刻」無しの場合
「書き込み時刻」付きの場合
オプション
使用例
ソース
関連事項

This document was created by man2html, using the manual pages.
Time: 23:15:41 GMT, April 29, 2017