Linux環境でJavaの常駐プログラムを動作させているのですが、C/C++でいうような、setrlimit()のような、アプリケーション側からシステムリソースを操作するようなことは、Javaでできるのでしょうか。

もう一点、そもそもJavaで、環境に依存するcoreファイルでデバッグするべきなのでしょうか。
Javaでcoreファイルに頼るべきではないなど、ポリシーについてもお詳しい方がいらっしゃいましたら、アドバイスお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

前半: Javaに標準的な方法は多分存在しません。

どうしてもやりたければJNIを使うことになるでしょう。

後半: Java VMのデバッグをするならcoreファイルにも意味はあるでしょうが、Javaプログラムのデバッグをするのにcoreファイルはきっと役に立たないと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
結局JNAを使って、setrlimitを叩けるラッパーだけは用意しました。
ご指摘の通り、デバッグには役立ちそうもありませんが、ネイティブコードの呼び出しの勉強になりました。

お礼日時:2011/04/26 21:14

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q復元ポイントの作成とイメージファイル等のバックアップとの違いについて

今晩は、宜しくお願いします。

復元ポイントの作成とイメージファイル等のバックアップとの違いについて教えて下さい。

Windowsで復元ポイントからシステムを復元させる方法があり、
また、イメージファイル等にバックアップをとり、復元させる方法もありますが
この両者はどのように違うのでしょうか。

復元ポイントの作成とは、その時点のシステムの設定等だけを保存しているという
ことでしょうか。

また、イメージファイル等のバックアップを作成するということは
システム設定と作成したファイル等もイメージファイルとして一括してバックアップ
されるのでしょうか。

イメージファイルの復元時に、作成したファイル等もイメージファイルから
復元されるのなら、同じ名前のファイルがあった場合には、
イメージファイル作成時の古い情報のファイルになってしまうのでしょうか。

以上、宜しくお願いします。

Aベストアンサー

【システムの復元】
Windowsが使用するシステムファイルのバックアップと復元。
ユーザーファイルには影響しない。
HDDの中に作成されるので、Windowsが起動しない環境では使用出来ない。

【システム修復ディスクの作成】
Windowsの起動時にF8を押下して起動するセーフモードから「コンピューターの修復」「システム回復オプション」を、外部記憶装置(CD、USBメモリなど)から起動出来るようにする。
Windows自体が起動しなくなった場合に、外部記憶装置から「システム回復オプション」が起動出来るようになる。修復されるのは、選択した項目により異なる。
WindowsREを利用。
https://msdn.microsoft.com/ja-jp/library/hh825173.aspx

【バックアップと復元】
システムのバックアップを作成し、ハードディスクなどが壊れた場合に備えパソコン内部のデータを全てバックアップ・復元出来る。
Windowsのインストールディスクや、システム修復ディスクから復元が可能。
システムもユーザーデータもバックアップを取った時点の状態に戻る。

【システムの復元】
Windowsが使用するシステムファイルのバックアップと復元。
ユーザーファイルには影響しない。
HDDの中に作成されるので、Windowsが起動しない環境では使用出来ない。

【システム修復ディスクの作成】
Windowsの起動時にF8を押下して起動するセーフモードから「コンピューターの修復」「システム回復オプション」を、外部記憶装置(CD、USBメモリなど)から起動出来るようにする。
Windows自体が起動しなくなった場合に、外部記憶装置から「システム回復オプション」が起動出来るようになる。...続きを読む

Qjavaプログラムで他言語のプログラムを動作できるのでしょうか?

java言語を勉強しているものです。
答えが見つからないので質問させていただきます。

現在以下の2つのプログラムを作成し動作確認をしました。
1:カメラの画像を保存する
  プログラムの言語はBasicとC++が推奨されていたので、今回はBasicでプログラムを作成しました。
2:保存した画像をAppletでスライドショーにして見せる
  プログラム言語はjavaです。

理想的な動作はリアルタイムな画像を次々に見せることです。

そこで、2で作成したプログラムの中に1を動作させる機能を持たせたいのですが、実現可能でしょうか?

知っている方がいましたら、御指導をお願いいたします。

Aベストアンサー

このあたりの話でしょうか?

「どうしたら、Java プログラムから外部のコマンド(プログラム)を呼び出せますか?」
http://www.gimlay.org/~javafaq/S103.html

参考URL:http://www.gimlay.org/~javafaq/S103.html

Q救出ファイル復元 2の機能について

「救出ファイル復元 2」で画像ファイルJPEGの他にRAWファイル、拡張子(CR2)を復元出来るでしょうか。

キャノンの一眼デジカメを使っているのですが、他の復元ソフトでは、復元出来ませんでした。

Aベストアンサー

Vectorあたりで『ディスク・ファイル復旧』の項目で探せばみつかりそうですが。
要は,"復元ソフトで復元できるファイルがソフトに登録されている拡張子だけしかできない"ことですので,拡張子を選択できる復元ソフトを捜せばいいと思われます。

参考URL:http://www.vector.co.jp/vpack/filearea/win/util/disk/care/

QJavaでWindowsのタスクトレイに常駐するプログラムを書きたいの

JavaでWindowsのタスクトレイに常駐するプログラムを書きたいのですが、どうやれば出来るでしょうか?

Aベストアンサー

>http://java.sun.com/docs/books/tutorial/uiswing/misc/systemtray.html

The java.awt.SystemTray class introduced in JavaTM SE version 6 represents the system tray for a desktop.

タスクトレイへアクセスはJava6で追加されたjava.awt.SystemTrayクラスで行われるらしいです。

Q削除した画像ファイルの取り出しまたは復元方法

ごみ箱に入れてから削除したファイルの復元方法を教えてください。

以前にも同様の質問をしたのですが、その際に教えていただいた方法で確かにいくつかのファイルは復元することができました。

しかし、一番復元したい画像ファイル(jpeg形式)が復元できません、同時期に同じく削除したファイルは無事に取り出せたのですが肝心のファイルは取り出せません。指定するファイル名、フォルダ名などの間違いはないのですが何が原因で復元できないのか理解できません。

良きアドバイスをいただければ助かります。
宜しくお願いいたします。

Aベストアンサー

こういったファイル復元ソフトを利用してファイルを復活させます。

●FileRecovery(フリーウェア)

消去・欠損したファイルを復元するソフト。
http://www.pcinspector.de/download.htm

●復元(フリーウェア)
http://www.vector.co.jp/soft/win95/util/se192983.html

■FINALDATA(ファイナルデータ)フォトリカバリー3.0(有料)
http://www.finaldata.ne.jp/f_8_3.html

当然ながら復元できる確立は有料ソフトのほうが高いです。

これらを使っても復元できない場合はファイルが上書きされて完全に消えている可能性が高いです。

QJavaのプログラム内で、javaファイルをコンパイルしたい

タイトルの通り、javaファイルをコンパイルする
Javaアプリケーションを作りたいんです。
こういうことって、できますでしょうか…?
やり方がわかる方がいましたら教えてください。
宜しくお願いします。

Aベストアンサー

やったわけじゃないですけど、これでできるんじゃないですか?
Runtime.getRuntime().exec()

呼び出しはバッチファイルにしておいてクラスパスなどの設定も一緒に書いておけばいいでしょう。

Q「ウイルス感染ファイル」削除後のシステム復元でどうなる?

ウイルスバスターで幾つかのウイルス感染ファイル発見し全て削除しましたが、感染したファイルはシステムファイルでしたので少し心配でしたが削除しました。
そこで教えて頂きたいのですが、感染した日付以前でシステムの復元をする事によって削除されたシステムファイルは復元できるのでしょうか?一度削除されたシステムファイルはシステムの復元をしても二度と復元しないのでしょうか?

Aベストアンサー

以下WindowsXPという前提で・・・

>システムファイルでしたので少し心配でしたが削除しました。
通常、このままではシステムエラーが発生します。
しかし、Windowsには自動復旧機能があり、削除されたファイルをハードディスク上にあるCabファイルから呼び出して復旧させるようになっています。
従って、殆どの場合、削除されたシステムファイルを手動でインストールする必要はありません。

☆SFCの実行
もしシステムエラーが出る場合SFC(System File Checker)の実行をお勧めします。

1.CDドライブにOSのインストールディスクを入れておく。
2.「スタート」「コマンドプロンプト」または「ファイル名を指定して実行」で
「sfc /scannow」と入力して「OK」

「Windows XP professional のディスクを入れてください」という表示が出ることがありますがHome Editionであれば「無視」を選んでスキップしてください

>感染した日付以前でシステムの復元をする事によって削除されたシステムファイルは復元できるのでしょうか?
出来ないことはないでしょうが、あまりお勧めできません。
現在の状態が正常でない。
過去の状態の方が快適に操作できる。
という場合、それがいいかもしれません。
しかし、Windowsの設定というのは非常に広範囲にわたっており、現在と過去を比較して、どちらが適正かを判断するのは容易ではありません。
また、過去の復元ポイントの中には不正な設定が含まれている場合があり、間違って、そのポイントを選択することもあります。
ウィルス対策ソフトのサイトでは一旦復元設定を無効にして、過去の復元ポイントを全て消去することを推奨しています。

>一度削除されたシステムファイルはシステムの復元をしても二度と復元しないのでしょうか?
間違った操作をすると汚染されたファイルが復元されてしまいます。
一旦復元設定を無効にして、過去の復元ポイントを全て消去することで汚染されたファイルは二度と復元しません。

以下WindowsXPという前提で・・・

>システムファイルでしたので少し心配でしたが削除しました。
通常、このままではシステムエラーが発生します。
しかし、Windowsには自動復旧機能があり、削除されたファイルをハードディスク上にあるCabファイルから呼び出して復旧させるようになっています。
従って、殆どの場合、削除されたシステムファイルを手動でインストールする必要はありません。

☆SFCの実行
もしシステムエラーが出る場合SFC(System File Checker)の実行をお勧めします。

1.CDドライ...続きを読む

Qテキストファイルを読み込んで別のファイルに出力するプログラム

テキストファイルを読み込んで分類し、別のファイルに出力するプログラムを作ろうと思っています。
大まかに作ってみたのですが、そもそもこれであっているのか確認してください。

import java.io.*;

public class Test {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader (
new FileReader("kazu.txt"));
int note, b1 = 0, b2 = 0, b3 = 0, b4 = 0;
String input;
while((input = br.readLine()) != null) {
note = input.toint(); {
//読み込んだString型のデータinputをint型に変換してnoteに代入
/*条件分岐 :noteの値が80以上ならb1に1を加える
 条件分岐 :上記以外でnoteの値が70以上ならb2に1を加える
 条件分岐 :上記以外でnoteの値が60以上ならb3に1を加える
 条件分岐 :上記以外ならb4に1を加える*/
}
//bwに文字リテラル"80以上"を書き込む
//bwにTAB記号を1文字書き込む
//bwにint型の変数b1の値の文字列表現を書き込む
//bwに改行記号を書き込む
//同様に"70以上80未満" "60以上70未満" "60未満"についてbwに必要な書き込みを行う
bw.flush();
br.close();
bw.close();
}
}

最近プログラミングを学び始め、急にいろんなことをやり出してしまったので何がなんだかわからなくなっています。
途中にある、String型のデータinputをint型に変換してnoteに代入というのは、どのようにすればいいのでしょうか?
またその後にある条件分岐では、if note >=80 b1=b1+1; else if note>=70 ...とやっていけばいいのでしょうか?
また、bwへの書き込みというのが(別のプログラムでも)うまくできません。
長々と書いてしまいましたが、よろしくお願いします。

テキストファイルを読み込んで分類し、別のファイルに出力するプログラムを作ろうと思っています。
大まかに作ってみたのですが、そもそもこれであっているのか確認してください。

import java.io.*;

public class Test {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader (
new FileReader("kazu.txt"));
int note, b1 = 0, b2 = 0, b3 = 0, b4 = 0;
String input;
while((input = br.readLine()) != null) {
note = input.toint(); {
//読...続きを読む

Aベストアンサー

●String型のデータをint型に変換

int n = Integer.parseInt("123");


●複数の分岐

 if( 条件1 ){
  処理1
 }else if( 条件2 ){
  処理2
 }else if( 条件3 ){
  処理3
 }else if( 条件4 ){
  処理4
 }else{
  全てに該当しない場合の処理
 }


●テキストファイルの出力

FileOutputStream fos = new FileOutputStream("FILE_NAME.txt");
PrintWriter pw = new PrintWriter(fos);
for(int i = 0 ; i < 10 ; i++){
 pw.println((i+1) + "行目");
}
pw.close();

Q復元ソフトのふと感じた疑問 -ファイル名を削除したい-

先日、復元ソフトを使用していたときに感じたことなのですが
(使用ソフトは「復元」です。)
ファイルを復元する際の手順で削除したファイルが検索できますよね。
このファイル検索の時に、HITしないようにファイル名を完全に削除したい場合はどのようにすればいいのでしょうか??

例えば、「●●との秘密旅行001.jpg」のファイルを削除したとします。
その後、復元ソフトで検索をかけるとファイルを復元しなくてもファイル名を見ただけで怪しいファイルとわかってしまいますよね。
復元ソフトの検索で、表示されなくする方法か、別名に変える方法があるのなら教えてください。

Aベストアンサー

95159さんが求めていらっしゃるのは以下の方法ではないでしょうか。

フリーの復元ソフトに「DataRecovery」というものがあります。このフリーソフトには「削除したファイル」の名前を時間をかけず簡単に消去できる機能が付いています。

『DataRecovery』
http://www.vector.co.jp/soft/win95/util/se382922.html

■使い方
起動させる→該当ドライブをクリック→[スキャン]ボタンをクリック→削除したファイルの表示完了→「目的のファイルが見つかりましたか?」と出てきたら[キャンセル]をクリック→名前を消去したいファイルをクリックするか、名前を消去したい複数ファイルを左クリックしながら選択する→[消去]ボタンをクリック→[OK]をクリック

これで、名前を消せます。しかしながら完璧ではなくて、一部消せないこともあります。
(「DataRecovery」を再起動してもう一度ドライブをスキャンすると消せなかったファイルが表示されます)

参考URL:http://www.vector.co.jp/soft/win95/util/se382922.html

95159さんが求めていらっしゃるのは以下の方法ではないでしょうか。

フリーの復元ソフトに「DataRecovery」というものがあります。このフリーソフトには「削除したファイル」の名前を時間をかけず簡単に消去できる機能が付いています。

『DataRecovery』
http://www.vector.co.jp/soft/win95/util/se382922.html

■使い方
起動させる→該当ドライブをクリック→[スキャン]ボタンをクリック→削除したファイルの表示完了→「目的のファイルが見つかりましたか?」と出てきたら[キャンセル]をクリック→名...続きを読む

QLinuxでJavaプログラムを起動

LinuxでシェルからJavaのプログラムを起動する場合、
以下のように打つと思います。

java プログラム名

プログラム名のパスだけで
起動する方法はないのでしょうか?
つまりCで書かれたコマンドのようにしたいのですが。

./プログラム名

Aベストアンサー

------------------
#!/bin/sh
java プログラム名
------------------
と書いたファイルを適当なファイル名で保存し、実行権限を与えてから、パスの通ったディレクトリに入れておけば、
./適当なファイル名
で実行できますが、こういうことではないですか?
違ったらごめんなさい。


シェル上で関連付けをしたいというのであれば、難しいでしょうね。
GNOME上とかであれば、拡張子で関連付けもできますが。
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/282appext.html


人気Q&Aランキング