• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:外部プログラムの起動と監視)

外部プログラムの起動と監視

このQ&Aのポイント
  • 外部プログラムの起動と監視方法について
  • Javaを使用してサーバーのプログラム起動と監視を簡単にすることができるか
  • ブラウザを使用せずに通信プログラムを作成することで可能性があるか

質問者が選んだベストアンサー

  • ベストアンサー
  • umaibo77
  • ベストアンサー率100% (1/1)
回答No.2

・ブラウザを使うやり方としては Java を使っても使わなくてもやり方は大きく違わないでしょう。起動したプロセスの状態を保持しておけるのでJava(Servletベース)は若干楽かもしれません。 ・ブラウザを使わず通信プログラムを作成する方法では、ソケットやスレッドが標準で使える点で Java は他の言語に比べて容易かと思います。 システム前提や安全性などいくらでも安全な方に凝れますが、Java+Webベースで実装する簡単なアイディアを以下に書いておきます。 1. 起動要求があればProcessBuilderなどでProcessを起動しstatic変数に格納します。 2. ログ要求があればログファイルの内容を送信します。 3. 多重起動の防止は、まだプロセスが起動されていないこと(static変数がnull)、または、そのプロセスが終了していること(Process#exitValue()で例外が発生しない)で判断できます。

ken2r
質問者

お礼

教えて頂いたJava+Webベースの方法をベースに検討してみたいと思います。 ご回答有難うございました。

その他の回答 (1)

  • localica
  • ベストアンサー率52% (202/385)
回答No.1

いろいろ手法はあるので、要件によってそれぞれのフェーズを分けて考えると良いのではないでしょうか。 ・プログラムの起動  →execとかで起動する ・プログラムの監視  →psとかプロセスの監視をする   tailとかでログの表示、画面をリフレッシュ   プロセスが起動していなければ起動画面(終了画面?)を表示 ・終了通知  →プログラム終了時に通知をするだけならプログラムに組み込んでおけば充分では?   単純に終了通知を発行する画面を作成するのでしょうか?   或いは「終了確認ボタン」みたいなもので条件を満たしていれば通知するのでしょうか?    Javaでも良いし、CGI+シェルでも十分可能だと思います。 ただし、セキュリティ的にきちんとする必要があると思いますけどね。

ken2r
質問者

お礼

ご回答有難うございました。

関連するQ&A