2017-07-14 2 views
1

私は現在CentOS 7で特定の外部プログラムに関する情報を収集できるようにするJavaプロジェクトに取り組んでいる学生調査チームに所属しています。収集する可能性のあるデータの例としては、 firefox、またはGoogle Earthの座標を使用します。これまでのところ、これを実装する方法を調べると、主にJNAとptraceを使用するようになりました。JNA-Ptraceを使用しているLinuxで外部プロセスに関する情報を取得していますか?

これは、この問題に取り組むのに適した方法ですか?もしそうなら、私はメモリ内のプログラムに関する特定の情報の場所を見つけるために何を使用することができますか?

答えて

1

JNAとptraceはかなり低レベルのものです。システム・アプリケーションを実行するには、あなたが使用する必要があります。Runtime class

  • Apache Common Exec
    1. のexecメソッドを最後のものがより有用です。

      しかし、アプリケーションを実行する必要はありません。 Google Earthから情報を取得するには、特別なWeb API-Google Maps APIs Web Servicesを使用するだけです。 HTTPリクエストを送信する場合は、Apache Http Clientを試してください。それは非常に強力な図書館であり、私はあなたが必要とするものであると確信しています。

      PS。より便利なクライアントJava Client for Google Maps Services

      PS1。私はJavaがOSとネイティブアプリケーションで動作する最悪の選択だと思います。私はそれを使用する2つの方法を参照してください:

      1. これは、Javaマネージャーのためのこの情報を収集するエージェントです。これは難しい方法です
      2. ここではis there a way to get the url from current tab in google-chromeまたはここにPossible to catch URLs in linux?のようなハッキングとトリックを使用します。それはより簡単ですが、あなたはこれらのハッキングを制限しています。そして、すべてのアプリケーションとケースで動作するわけではありません。
    +0

    私が実際にやってみたいことは、スタンドアロンプ​​ログラムから情報を収集することです。 Google Maps APIをGoogle Earthデスクトップアプリケーションで使用できますか? – Sharpevil

    +0

    @Sharpevil私は絶対に確信しています。 PSセクションを見てください。必要な情報を教えてください。 –

    +0

    現時点では、私たちが作っているのは概念実証を意図したものです。私たちがする必要があるのは、別のユーザーのためにプログラムの状態の重要な部分を再構築するために使用できるプログラムから情報を得ることです。ウェブブラウザのURLのようなもの、またはGoogle Earthセッションの座標。 – Sharpevil

    関連する問題