Java可以进行进程监控吗?

2024-06-03

是否可以用Java编写一个在托盘中运行的应用程序,并且当启动某个应用程序时,它可以检测到它?我想对某些程序执行此操作,以了解我每周使用它们多长时间。我是 Java 新手,所以我不知道 Java 是否是最适合此操作的语言,或者它是否具有对操作系统的正确访问权限来执行此操作。


Java 本身并没有太多集成到特定于系统的功能(大多数其他通用语言也没有)。如果您谈论的是 Windows,则选择的系统语言将是 C#(或 C/C++)。在 Mac 上,它是 ObjectiveC(或 C/C++)。在linux上,它是C。

要访问给定系统上的进程监控设施,您需要首先了解将要使用的 API。然后,您可以评估给定语言是否具有对这些 API 的内置或第三方库支持。

对于 Java,您需要编写一些JNI http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/jniTOC.html(C 代码),使用JNA https://github.com/twall/jna/(仅限 Java),或解析以下输出运行时.exec() http://docs.oracle.com/javase/6/docs/api/java/lang/Runtime.html#exec%28java.lang.String%5B%5D%29(调用各种系统/shell 命令)访问与管理和/或监视进程相关的系统 API。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java可以进行进程监控吗? 的相关文章

随机推荐

  • Nuget - 对象引用未设置为对象的实例

    我在 vs 2015 中遇到了 nuget 包管理器的问题 像Unity这样的一些包已经安装没有问题了 某些软件包 例如 EF 在安装时出现问题 像 Automapper 这样的一些软件包也有同样的问题 但是当我安装这个软件包的另一个版本时
  • 如何检查文件是否为php?

    我想检查文件是否具有扩展名 php 如果有的话我会把它包括在内 有人可以帮我进行正则表达式检查吗 thanks 通常您不使用正则表达式 以下是一种流行的方法 extension pathinfo filename PATHINFO EXTE
  • iOS:如何定义公共方法?

    如何在每个视图控制器类中定义一个可以从任何地方调用的方法 我有一个方法可以为我带来一个 json 文件 并且我希望它可以重用 因为我的应用程序上有多个 json 调用 你能帮助我吗 您可以通过类别添加它 EDIT 创建一个新的 h m 文件
  • 用于图形操作的 Javascript 库

    有没有建议的 javascript 替代 pythonpygraph http code google com p python graph or NetworkX http networkx lanl gov 应该注意的是 可视化不是必需
  • Jenkins - 如何暂停排队作业的运行并让新构建优先

    詹金斯任何版本 我有两个版本 1 642 3 或 2 32 3 我有一份詹金斯工作jobA 我们假设此作业将工件部署到目标部署服务器 它需要 2 个参数 工件名称和目标部署服务器 执行并发构建当前已禁用 即未选中 假设我手动启动了此作业的多
  • 将 Beamer 方程大小与动画 Manim 方程相匹配

    我正在尝试使用 Beamer 演示文稿中的几个方程进行动画处理Manim https www manim community 图书馆 生成动画后 我想将它们包含在演示文稿中 其大小与我只是在 LaTex 中生成方程式一样大小完全相同 例如
  • 如何禁用导入库的生成?

    我正在 Visual Studio 中创建一个 COM DLL 链接器为 DLL 生成导入库 我不需要导入库 有什么办法告诉链接器不要生成它吗 九年后 这可能对 OP 没有用 但可能对其他寻求解决方案的人有用 LINK EXE 支持 NOI
  • 在 Docker 容器内运行时,如何自动在 API 路由文件中进行 FASTAPI 拾取更改?

    我通过 docker 运行 FastApi 在 docker compose 中创建一个名为 ingestion data 的服务 我的 Dockerfile FROM tiangolo uvicorn gunicorn fastapi p
  • 为什么全新安装后会有pip和conda包?

    All Windows 10 64 位 d l Anaconda 2 5 0 与 Python3 64 位并安装 全新安装后我输入conda list 并且 在软件包中 我看到 重复像 jupyter 1 0 0 py35 1 jupyte
  • 为什么我无法调试动态加载的程序集?

    我正在开发一个 Web API 项目 该项目使用内部模拟框架 允许拦截和修改来自控制器的响应 它使用 MEF 加载包含某些先决条件匹配时执行的代码的程序集 我知道这是正常工作的 因为我可以在响应中看到模拟已被执行 但由于某种原因我无法调试动
  • 如何使用 SQL - INSERT...ON DUPLICATE KEY UPDATE?

    我有一个脚本可以捕获推文并将其放入数据库中 我将在 cronjob 上运行脚本 然后在我的网站上显示数据库中的推文 以防止达到 Twitter API 的限制 所以我不想在我的数据库中有重复的推文 我知道我可以使用 INSERT ON DU
  • 如何等待 Kotlin 协程完成

    我读过几十篇文章 但不知何故 没有一个答案似乎适用于我的情况 我想要实现的是在Fragment中等待ViewModel使用Room执行操作 Dao Query SELECT FROM my table WHERE id id suspend
  • 使用 colt java lib 时出现“矩阵太大”异常

    我正在使用 cern colt matrix lib 进行稀疏矩阵计算 但似乎我一直遇到此错误 线程 main 中的异常 java lang IllegalArgumentException 矩阵太大 我认为这是因为构造函数在 nrows
  • Flurry 事件值显示“com.flurry.OTHER”

    我将 Flurry 集成到了我的 iOS 应用程序中 我添加了一些事件 我将 EventName 作为 字符串值 传递 EventValue 作为 URL 字符串 传递 但是当我检查 Event URL 的混乱分析时 有时它会显示 com
  • Objective c,实例成员的内存管理

    我对实例成员的内存管理感到困惑 我有一个带有 ivar 的课程 DetailedResultsTableViewController detailedResultsTableViewController and property nonat
  • 当您执行“SELECT *”时,SQL Server 如何确定列的顺序?

    当您执行以下操作时 SQL Server 如何确定列的顺序SELECT 我知道 订购依据 对于订购至关重要data 但我预计列名保持一致 注意 我的代码是not取决于返回列的实际顺序 我只想知道 SQL Server 如何决定对列名进行排序
  • Bootstrap 3 - 模态背景不会根据模态对话框的高度调整大小?

    我将一个表单放入模式中 并尝试在用户触发单选按钮时显示表单的一些隐藏字段 显示隐藏字段后 模态自动重新缩放的高度 但模态背景的高度不能用作模态对话框 我该如何解决它 div class modal fade div class modal
  • 如何在 NodeJs 中发送 Google 索引批量请求的多部分/混合请求?

    我正在使用 Nodejs 进行连接谷歌API v35 0 0 https www npmjs com package googleapis告诉 Google 更新或从 Google 索引中删除页面 当我通过发送请求时 我陷入了多部分 混合请
  • UIView类中addSubview和insertSubview的区别

    有什么区别addSubview and insertSubView以编程方式添加视图时的方法 唯一的区别在于视图添加的位置 是否是最前面的视图 addSubview 或者在第 5 个子视图之前 insertSubview atIndex 或
  • Java可以进行进程监控吗?

    是否可以用Java编写一个在托盘中运行的应用程序 并且当启动某个应用程序时 它可以检测到它 我想对某些程序执行此操作 以了解我每周使用它们多长时间 我是 Java 新手 所以我不知道 Java 是否是最适合此操作的语言 或者它是否具有对操作