shmdump
Section: WIN SYSTEM (1W)
Updated: 2019.11.6
Index
Return to Main Contents
呼称
shmdump - 共有メモリ・セグメント上のデータのモニタ
形式
shmdump [-admoqrtwxz] [-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}
オプションが無効になってしまいますので注意してください。
- -d
-
ReGISグラフィックスによる端末への波形表示モードで実行します。
これは試験的な実装です。xterm(--enable-regis-graphics 付きで
コンパイルし起動時オプション '-ti 340')での動作は確認済みです。
表示するチャネルを
指定する必要があります(実用的には6チャネル程度まで)。
振幅スケールは上下矢印キーにより 1/1〜1/4096の範囲で、
時間軸横幅は左右矢印キーにより 1〜60秒の範囲で、それぞれ
実行中に変更できます。空行出力でスクロールしているので、
xtermのフォントサイズが適当な範囲(small〜medium, 8x12程度か)
である必要があります。またウィンドウサイズを適宜引き伸ばす
必要があるかも知れません。DCオフセットが大きいときは
ハイパスフィルターを併用するのが適当です(たとえば '-H 1.0:0.5:0.5:5.0')。
フィルター以外の他のオプションは指定しないほうが無難です。
- -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
- 呼称
-
- 形式
-
- 解説
-
- 「書き込み時刻」無しの場合
-
- 「書き込み時刻」付きの場合
-
- オプション
-
- 使用例
-
- ソース
-
- 関連事項
-