
自分の考え方があっているか教えてください。
tomcatを起動するとプロセスが1つ立ち上がりますが、
WEBからJSPを起動するとそのプロセスの中で動くのでしょうか?
WEB画面のJSPを10枚立ち上げても1つのプロセスの中で処理される。
今回JSPからJNIを使用してCのライブラリをロードしていますが、
Cのライブラリの中で異常終了すると、tomcatのプロセス自体が落ちてしまいます。
WEBの1枚だけ異常終了するのはいいのですが、tomcat自体が落ちてしまうと影響範囲が大きいのですが、これはJSPが1つのプロセスを使い実行している為、どうしようもないのでしょうか?
通常、JAVAで異常が起きても、Exceptionを出してくれるので、プロセスが
落ちる事はないと思いますが、Cの場合、メモリを確保していない領域以外へアクセスした時など、プロセス自体が終了してしまいます。
Cの中できちんとエラーチェックをしなければいけないのは当たり前ですが、予期せぬエラーが発生した場合はもう少し影響範囲を小さくする事は
出来ないのでしょうか?
長々と申し訳ありません、なにかいい方法ありましたらアドバイスをお願いします。
No.1ベストアンサー
- 回答日時:
> WEBの1枚だけ異常終了するのはいいのですが、tomcat自体が落ちてしまうと影響範囲が大きいのですが、これはJSPが1つのプロセスを使い実行している為、どうしようもないのでしょうか?
基本的には、お考えのとおりです。どうしようもないです。
> Cの中できちんとエラーチェックをしなければいけないのは当たり前ですが、予期せぬエラーが発生した場合はもう少し影響範囲を小さくする事は
> 出来ないのでしょうか?
Windows/Linux などの OS だと、保護の単位がプロセスよりも細かいスレッド単位にできることもあるかもしれませんが、それとて万能ではないです。Java の側から Windows/Linux のスレッドを細かく制御できるわけでもないので、やはり Java で JNI を使う限りは、基本的に無理だと思います。
安直には JNI からそのライブラリーを使うプロセスを生成して呼ぶとかすれば、できますが、それだったら JNI を使わずに Java からプロセスを直接生成すればそれで済みます。プロセス生成のコストが高いですが、そこそこ現実的なソリューションでしょう。
あるいは、JNI の中で Windows/Linux のスレッドを細かく制御するなどすればもしかしたらできるのかもしれませんが、現実的ではないことが多いでしょう。それだったらライブラリーのバグを直すほうが現実的でしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
タスクマネージャーのプロセス...
-
バックグラウンドのプロセスの...
-
vb.netでEXCEL起動がうまくでき...
-
DLLにおいて、最後のプロセスデ...
-
プロセスのアタッチ・デタッチ...
-
プロセス終了の検知について
-
プログラムにWINDOWSから自動で...
-
親子プロセス間でのデータの受...
-
Shellでの環境変数
-
CreateObjectで作成したExcelの...
-
ADOでアクセスのレコードに...
-
API関数 GetExitCodeProcess
-
共有メモリ方式とメッセージパ...
-
WMIでのプロセスの起動・終了監...
-
非表示になったエクセルは?
-
プロセスハンドル or ウインド...
-
この中で間違ってある説明はあ...
-
UNIX_Cにおける「名前つきパイ...
-
VBからのACCESSの起動...
-
スレッド?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
タスクマネージャーのプロセス...
-
ADOでアクセスのレコードに...
-
VB6.0 SHELLで起動...
-
プロセスのアタッチ・デタッチ...
-
C#でのbatファイル実行結果取得
-
vb.netでEXCEL起動がうまくでき...
-
プロセスIDの取得方法について
-
非表示になったエクセルは?
-
Process.Startの戻り値を後で取得
-
IISがフリーズ
-
API関数 GetExitCodeProcess
-
VB.NETで起動したExcelの閉じ方...
-
explorer.exeが異様にメモリを食う
-
Visual C++からpingを実行して...
-
c言語でプロセスIDを調べたい
-
VBS(WSH)で開いたIEのウィンド...
-
Linuxでのスレッド間メッセージ...
-
怪しいプロセス教えてください。
-
Windowsでのfork方法
おすすめ情報