2016-08-22 2 views
1

で実行中のアプリケーションの名前を取得します。は私が<strong>ホスト</strong>、我々は、Javaとそこに名前を確認することができますどのようにアプリケーションを実行しているの<strong>ポート</strong>があった場合、タイトルは、実際には、problemeを説明すると思うのjava

public String getApplicationName(String host,int port) {//some code} 
+0

あなたが何を求めているのかはっきりしません。一般的にホストとポートは、さまざまな戦争や耳を処理できるアプリケーションサーバーに応答します(Javaアプリケーションサーバーの場合)。その名前はありません。 –

+2

@SheetalMohanSharmaこの質問は現在の実行メソッドの名前とは関係ありません! –

答えて

0

私は、以前の私のコメントの中の結論にジャンプ申し訳ありません:

例えばWindowsのために、それは次のようになります。私は、コマンドリストからプロセスリストを取得すると便利かもしれないと思います。もう一度OS固有...

try { 
    String line; 
    Process p = Runtime.getRuntime().exec("ps -e"); 
    BufferedReader input = 
      new BufferedReader(new InputStreamReader(p.getInputStream())); 
    while ((line = input.readLine()) != null) { 
     System.out.println(line); // 
//Run you pattern matcher here to parse data - host & port etc. 
    } 
    input.close(); 
} catch (Exception err) { 
    err.printStackTrace(); 
} 
0

ホストと動作のみシステムアプリケーション

を実行しているのポートは現在動作しているアプリケーションを認識しています。だから、OS specificロジックを書くことを避けるプロセスに関する情報を得ることは不可能です。

Process proc = Runtime.getRuntime().exec ("tasklist.exe"); 
InputStream procOutput = proc.getInputStream(); 
if (0 == proc.waitFor()) { 
    // TODO scan the procOutput for your data 
} 
+0

アプリケーションはJVMで実行されていますが、少なくともメインクラスを取得することは可能ですか? – user3237201

+0

@ user3237201、 'jvm'は' OS'によって管理されているプロセスの中で実行されています。 2つの異なるアプリケーションが2つの異なるプロセスを実行します。同じアプリケーションの中で 'Threads'を話さない限り、' jvm'に関係なく、プロセスが完全にカプセル化されていません。 http://stackoverflow.com/questions/200469/what-is-the-difference-between-a-process-and-threadを参照してください。 –

関連する問題

 関連する問題