イントラネット内のLinuxサーバにあるプログラムをクライアントPCのブラウザから
起動しそのプログラムが出力するログを一定周期でブラウザに表示して
プログラム終了時にはユーザーに知らせたい。
また、プログラムは同時起動が不可能なものとしたい。
PHPなどのCGIスクリプトでは、ブラウザとのセッションが切れてしまえば
サーバー側のプログラムは走りっぱなしになってしまいます。
外部プログラムの監視や排他制御を考えると非常に複雑な処理になることが
予想されます。
そこで質問なのですが、サーバーのプログラムの起動と監視をクライアントPCの
ブラウザから行いたいのですがJavaの技術を使うことで容易になりますか?
また、ブラウザを使わない通信プログラムを作成すれば可能となりますか?
詳しい方がいましたら教えて下さい。宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
・ブラウザを使うやり方としては Java を使っても使わなくてもやり方は大きく違わないでしょう。
起動したプロセスの状態を保持しておけるのでJava(Servletベース)は若干楽かもしれません。・ブラウザを使わず通信プログラムを作成する方法では、ソケットやスレッドが標準で使える点で Java は他の言語に比べて容易かと思います。
システム前提や安全性などいくらでも安全な方に凝れますが、Java+Webベースで実装する簡単なアイディアを以下に書いておきます。
1. 起動要求があればProcessBuilderなどでProcessを起動しstatic変数に格納します。
2. ログ要求があればログファイルの内容を送信します。
3. 多重起動の防止は、まだプロセスが起動されていないこと(static変数がnull)、または、そのプロセスが終了していること(Process#exitValue()で例外が発生しない)で判断できます。
No.1
- 回答日時:
いろいろ手法はあるので、要件によってそれぞれのフェーズを分けて考えると良いのではないでしょうか。
・プログラムの起動
→execとかで起動する
・プログラムの監視
→psとかプロセスの監視をする
tailとかでログの表示、画面をリフレッシュ
プロセスが起動していなければ起動画面(終了画面?)を表示
・終了通知
→プログラム終了時に通知をするだけならプログラムに組み込んでおけば充分では?
単純に終了通知を発行する画面を作成するのでしょうか?
或いは「終了確認ボタン」みたいなもので条件を満たしていれば通知するのでしょうか?
Javaでも良いし、CGI+シェルでも十分可能だと思います。
ただし、セキュリティ的にきちんとする必要があると思いますけどね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ノートパソコン Windows 10 動作改善方法 6 2023/04/26 22:30
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- Windows 10 win 10 でのstartup program を削除したい 3 2022/04/29 09:21
- その他(プログラミング・Web制作) Windows上のプログラム。「予め決められた時刻に自分で起動して処理して自分で終了する」って可能? 3 2023/01/04 14:29
- デスクトップパソコン 「自動修復でPCを修復できませんでした」と表示されPCが起動しないのですが対処法はありますか? 5 2022/05/13 09:16
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- Windows 10 バッチファイルでのエクスプローラー終了 1 2022/05/30 14:32
- Windows 10 Windows PC 「スタート」の表示 1 2022/05/14 14:27
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
shell関数について
-
VBでExcelが起動されているか知...
-
VB6 二重起動確実防止について
-
ラズパイ3でsocket接続できない。
-
CGIでinit.dで起動したプロセス...
-
ソフトのインストール場所って...
-
Macの手書き漢字入力ツールにつ...
-
exeファイルの実行結果をテキス...
-
誰かにサーバにあるデータを消...
-
ご教授願います PC初心者です。...
-
CPUとOS の違いは?
-
PC/AT互換機は、ほとんどのPCの...
-
Windows95の盛り上がりぶりは何...
-
aptでインストールしたプログラ...
-
Win7でコンピュータ名変更を自動で
-
Sendmail のログの見方について
-
デバッグ停止中 一つ戻る
-
ある特定のフォルダの中に、2つ...
-
今から始めるならどのLINUX?
-
USBオーディアダプタとオーディ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチスクリプト処理でエラー...
-
バッチファイルで多重起動を防ぐ
-
VBでExcelが起動されているか知...
-
Linux環境変数設定(putenv?se...
-
コンソールアプリの起動結果待...
-
MySQLへのDB::connectで、faile...
-
VB6 二重起動確実防止について
-
「応答なし」の状態を監視する方法
-
_access関数が EACCES エラーと...
-
shell関数について
-
コンソールアプリケーションの...
-
仮想メモリ増加
-
CreateProcessでコンソールアプ...
-
Open Office Org 急に起動しな...
-
CreateProcessでうまくexeファ...
-
apache2.2が起動せず困っていま...
-
外部プログラムの起動と監視
-
CPUの使用率が100%から戻りま...
-
PostgreSQLについて
-
XDRIVEのログインをSENDKEYで自...
おすすめ情報