【问题标题】:How to get total processing time when using wait(NULL) function?使用 wait(NULL) 函数时如何获取总处理时间?
【发布时间】:2019-04-09 23:50:38
【问题描述】:

我想知道简单多处理代码的处理时间,但是如果父进程使用do while(wait(NULL) > 0); 等待子进程,父进程的clock() 不会返回处理时间。

我猜wait(NULL)clock() 只返回等待时间(除等待外的总时间)。

还有其他方法可以检查总处理时间吗?

【问题讨论】:

  • 你要孩子的cpu使用次数吗?
  • clock() 返回调用它的进程使用的 CPU 时间。进程在被阻塞时不会消耗 CPU 时间,无论是在 wait() 还是在其他阻塞调用中。
  • 如果是这样,您需要wait3()wait4()。如果你想要所有(退出的)孩子的总 CPU 时间,而不是特定的孩子,times() 是你的朋友。

标签: c time wait


【解决方案1】:

您可以从clock_t 使用tms_cutime

参考 - times() — Get process and child process times

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-04
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-12
    • 2012-02-11
    • 2021-09-22
    相关资源
    最近更新 更多