【问题标题】:Ada list running process in LinuxAda 列出 Linux 中运行的进程
【发布时间】:2016-12-08 11:25:08
【问题描述】:

我正在尝试编写一个程序来控制 Linux 系统上运行的进程。我有兴趣了解进程的内存和 CPU 消耗以及启动、终止和暂停系统上的进程。

我能想到的最近的库是GNAT.Os_Lib包,在Ada中怎么做这样的监控呢?

这方面的任何方向都会有所帮助

【问题讨论】:

    标签: linux ada


    【解决方案1】:

    我认为在 linux 上您需要查看 /proc 目录的内容。 这里没有特定于 Ada 的内容,使用 GNAT.Directory_Operations 或 Ada.Directories 应该可以读取目录的内容。

    【讨论】:

      【解决方案2】:

      POSIX.Signals.Send_Signal 可能是您想要终止或暂停进程时调用的正确过程。

      我不知道用于监控正在运行的进程及其资源使用情况的已发布 Ada 库。我会研究ps for Linux 的实现,并将相关的 C 函数导入 Ada 包。

      【讨论】:

      • Jacob,至少对于 CPU 消耗而言,使用 POSIX.Process_Times 和 ?对不起,如果我错了,我从来没有使用过这个,但这是我在谈到流程时想到的第一个问题。
      • 这仅在流程内部起作用。我读到这个问题是关于询问操作系统关于其他进程的问题。
      猜你喜欢
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-31
      • 1970-01-01
      • 2014-02-26
      • 2011-05-30
      相关资源
      最近更新 更多