使用JNA-Ptrace获取有关Linux中外部进程的信息?

时间:2017-07-14 17:12:02

标签: java linux jna ptrace

我正在一个正在研究Java项目的学生研究团队,我们希望能够在CentOS 7中收集有关特定外部程序的一些信息。我们可能想要收集的一些可能的数据示例是URL来自firefox,或来自Google Earth的坐标。到目前为止,研究如何实现这一点主要是让我使用JNA和ptrace。

这是解决这个问题的好方法吗?如果是这样,我可以用什么来查找有关内存中程序的特定信息的位置?

1 个答案:

答案 0 :(得分:1)

JNA和ptrace是相当低级的东西。要运行系统应用程序,您应该使用:

  1. Runtime class
  2. 的执行方法
  3. Apache Common Exec
  4. 最后一个更有用。

    但似乎你根本不需要运行任何应用程序。要从Google地球获取信息,您只需使用特殊网络API - Google Maps APIs Web Services即可。如果您想发送HTTP请求,请尝试Apache Http Client。它是非常强大的库,我非常确定这一切都是你需要的。

    PS。更方便的客户Java Client for Google Maps Services

    PS1。我认为java是使用操作系统和本机应用程序的最糟糕选择。我看到了两种使用它的方法:

    1. 在C / C ++上编写代理,它将为java管理器收集此信息。这是一个艰难的方式
    2. 使用像is there a way to get the url from current tab in google-chrome或此处Possible to catch URLs in linux?这样的黑客和技巧。它更容易但你会限制这些黑客的数量。并且它不适用于所有应用程序和案例。