- 締切済み
teratermのマクロ
teratermPROを使ってスイッチにConfigをttlファイルからマクロで投入しています。 しかし、反応が遅く、エンターキーを何度も押さないと configが入っていきません。原因わからないでしょうか? 同時にLogも取っています。 PCはWinXPです。 よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- graniph
- ベストアンサー率46% (77/167)
ログ取得時に重くなるのは、私もわかりませんが、teraterm自身の処理に付加がかかっているのでは?と思っています。 なるべくログ取得開始時にマクロで待ちを作ってあげると取りこぼしやフリーズをふせげるかなと思います。 あと、機器がよく分からないのですが、気になった点をひとつ。 単に記入ミスかもしれませんが。 sendln "enable" 後、wait promp って正しい記入ですか? (個人的にプロンプトは"souchi1>"から別のものに変わる気がします。) 今日の夜にでも、可能であれば私の作ったサンプルマクロをのっけてみようかなと思います^^;
- graniph
- ベストアンサー率46% (77/167)
#1です。 よろしければ、作成したマクロをここで公開していただけないでしょうか。 もちろん、重要な部分や流し込むテキストまで公開しなくてかまいません。 (テキストは外部読み込みしていると思いますが) CPUが100%で動かなくなるのは私も何度か経験がありますが、エンターを押してたまに動く、という状況はまた何か別の要因がある気がします。 また、ログ取得開始に重くなるのは確かによくあることです。 ログ取得をコメントアウトした場合、希望通りの動きをするのでしょうか?
- kyoui7
- ベストアンサー率64% (22/34)
>wait構文に関して詳しくないのですが >どこか良いサイト知りませんか? No2です。 teratermのマクロのヘルプはとても優秀な為か あまりこれはというサイトがありませんね。 macroj.hlpというヘルプファイルがプログラムに同封されていると 思うのでご覧ください。
お礼
一点わかったことがありました。 logをとっていると遅いということがわかりました。 なぜか原因がわかりませんが・・・。 止まっている最中、CPU使用率は10%以下でした。
- oi_goo
- ベストアンサー率44% (20/45)
ttlではなく,普通にtelnetするとその反応は早いのでしょうか?
補足
通常にtelnet接続する場合は反応は早いです。 遅いのはマクロのみですので 皆さんの言うように構文が怪しいですね。
- kyoui7
- ベストアンサー率64% (22/34)
私も似たような経験をしたことがあり、No.1さんのおっしゃるCPU使用率が高い状態でした。 この時の原因はWAIT文でしたが、記載方法が間違っていたわけではないのに、なぜかWAIT文を入れるとこのような現象が出てしまいました。 切り分け方法としては、マクロにWAIT文が入っていたら、まずはそれを削除して正常に動くか試してみる。WAIT文が原因でなければ、シンプルなプログラムから順番に文を追加させていき、どの文を入れると問題が起きるか順番に切り分けていくしかないと思います。
お礼
回答ありがとうございます! とりあえず、wait文があるかどうか、CPU使用率は100%なのか確認してみます。 wait構文に関して詳しくないのですが どこか良いサイト知りませんか?
- graniph
- ベストアンサー率46% (77/167)
teratermPROのマクロには、まれにPCのCPU使用率が100%になる不具合があります。 UTF-8対応版を使用すると回避できる可能性もありますが、 >エンターキーを何度も押さないとconfigが入っていきません。 こちらの一文、エンターキーを押さずに待機していると、全く動かないのですか?でしたら、wait構文の位置が間違っている可能性もあります。
お礼
早速の回答ありがとうございます。 teratermは「UTF-8対応版」に最近使用したところですが 解消できませんでした。 エンターキーを押さなければまったく投入されない状態です。 エンターキーを押すと 7~10回に1行という間隔で投入されていきます。 (不定期ですが・・・) やはりwait構文の位置が原因なのでしょうか? wait構文に関する良いサイトご存じないでしょうか?
補足
●ログ取得後であれば問題ないです。 >ログ取得開始に重くなるのは確かによくあることです。 これはどうしてなのでしょうか?ココが解消できれば問題ないかと。 ●マクロのイメージとして以下を。 形式として以下のようにしています。 シングルクウォーテーションとダブルクウォーテーションの 使い方問題ないですよね? 前提としてlog収集開始済みの状態です。 ----------以下 マクロ一部--------- promp = "souchi1>" wait promp sendln "enable" wait promp sendln "*******"