- PR -

runtime.execで呼び出したTeratermが動作停止

1
投稿者投稿内容
yoshi
会議室デビュー日: 2004/11/22
投稿数: 3
投稿日時: 2004-11-22 14:46
はじめまして、ちょっと特殊な事をやっておりまして
悩んでおります。

まず動作環境は、下記の通りです。
Windows2000Server
Apache1.3.1
Tomcat4.1.3
j2sdk 1.4.2_05

※ApacheとTomcatはサービスから起動しています。


さて、私の悩み事ですが、JavaからRuntime.execを利用して
Windows2000Server上にあるTeratermマクロを起動させようと
しています。しかし、Teratermマクロの呼び出しは成功するの
ですが、呼び出された後にマクロが途中で停止してしまいます。

原因はTeratermマクロが、Tomcatサービスから起動されている
為にバックグラウンドで走ってしまってTeratermマクロの
「connect命令」で、なぜかストップしてしまうというのが原因
ではないかと思います。

Tomcat自体をサービスから起動しないで、フォアグランド
(Tomcatのウィンドウが表示された状態)で起動して、Runtime
によってTeratermマクロをキックするとマクロは正常に動作します。
(Teratermマクロもフォアグラウンドで動作する為)


ここで解決方法を考えようとしたのですが、
Tomcatをサービスから起動して、なおかつRuntime.execで
呼び出されたTeratermをフォアグラウンドで動作させる方法が
ないのでしょうか。

また、TeratermのConnect命令がバックグラウンドでも上手く
いく方法等でも宜しいので知っている方がおられればご教授
頂ければ助かります。


少々、本BBSからかけ離れた質問内容で申し訳ありませんが、
本当に困っています。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-11-22 17:02
通常NTサービスはSYSTEMアカウントで動作しますので、権限不足によって動作しないことが
あります。Tomcatサービスのアカウント設定を変更してみたらどうなるでしょうか。
yoshi
会議室デビュー日: 2004/11/22
投稿数: 3
投稿日時: 2004-11-22 18:26
サービスに権限を与えての実験は既に行いました。

実際のところ、Teratermマクロの起動はされておりマクロの
Connect命令の寸前の所までは実行されます。
実行はされるということで、権限は関係ないのかな?と
考えております。

もちろんConnect寸前でプログラムがストップするのでタスク
マネージャで見ると、いつまでたってもTimeoutすらしてくれない
Teratermマクロのプロセスが残りっぱなしになっています。

他に原因は考えられないでしょうか・・・
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-11-22 18:37
となると、この手の現象でよくあるのは、なんらかの入力待ちになっている場合です。
TeraTermマクロに関してはよくわかりませんが、コンソールなりダイアログボックスなりで
入力を促すような状態になることはありませんか?
yoshi
会議室デビュー日: 2004/11/22
投稿数: 3
投稿日時: 2004-11-22 18:45
お返事ありがとうございます。
マクロの内容を書いてしまいますが、下記のようになっております。


------------マクロ開始------------

(中略)

;コネクト前のログ出力
fileopen fh1 param3 1
filewriteln fh1 datetime
filewriteln fh1 '-LogingStart-'
filewriteln fh1 'CONNECT before'
filewriteln fh1 '-LogingEnd-'
fileclose fh1

;コンソールサーバーへ接続
connect CNSL_IPADRESS

;コネクト後のログ出力
fileopen fh1 param3 1
filewriteln fh1 datetime
filewriteln fh1 '-LogingStart-'
filewriteln fh1 'CONNECT after'
filewriteln fh1 '-LogingEnd-'
fileclose fh1

-----------------------------------

というテスト用のマクロを書いているわけですが、ログには
「CONNECT before」というログのみ出力されまして、
「CONNECT after」というログが出力されません。
つまりconnectで止まっているわけでして、このときに入力や
メッセージボックスを出力しているコードは記載していないの
です。

困りました・・・・


※Tomcatをフォアグラウンドで動作させ、本マクロを呼び出すと
 正常に動作する事を確認したマクロを使用してテストしています。

[ メッセージ編集済み 編集者: yoshi 編集日時 2004-11-22 19:04 ]
1

スキルアップ/キャリアアップ(JOB@IT)