【问题标题】:Linux: How to check if a new process was created [duplicate]Linux:如何检查是否创建了新进程[重复]
【发布时间】:2015-05-02 04:56:49
【问题描述】:

我正在编写一个在 Linux shell 后台运行的 C 程序,如果总内存消耗超过总内存的 85%,那么它将打印出警告。检查是否创建了新进程的最佳方法是什么(我想在每次创建进程时检查内存的值)?

【问题讨论】:

  • 根据您的需要,什么是最好的?即您介意不注意一些流程创建吗?
  • 我的意思是,我只需要 C 程序识别新进程何时创建并采取相应措施。

标签: c linux memory


【解决方案1】:

确定何时创建(和退出)进程的最有效方法是发送至use the proc connector。使用起来有些复杂,但会在事件发生时立即通知您的进程。

但是,请记住,进程的内存使用量在它们运行时可能会发生巨大变化。监控正在创建的流程几乎肯定不足以满足您的需求;您将需要定期轮询内存使用情况。 (没有通用的方法来获取系统内存使用情况的通知,除了在具有内存控制器的 cgroup 中运行您的进程并注册 OOM 处理程序。您不想这样做。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    相关资源
    最近更新 更多