gpt4 book ai didi

linux - 进程完成后的 CPU 时间

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:27 26 4
gpt4 key购买 nike

Linux 中是否有一个函数可以让我查看进程完成后使用了多少 CPU?我需要类似于 bash“时间”命令的东西。我正在 fork()ing 这个过程,然后使用 wait() 等待 child 完成。准确测量“实时”时间(fork() 和 exit() 之间经过的实际时间)的方法,即使在子进程变成僵尸后很长时间调用 wait() 也是受欢迎的,但我不确定它是否可能。

最佳答案

当然,wait3wait4你覆盖了吗?或者(更便携)你可以使用 getrusage(2) .

The wait3() and wait4() system calls are similar to waitpid(2), but additionally return resource usage information about the child in the structure pointed to by rusage.

例子:wait3

struct rusage usage;
wait3(&status, 0, &usage);

例子:getrusage

当然,wait3wait4只是为了方便。所以你可以使用 getrusage:

getrusage(RUSAGE_CHILDREN, &usage);

缺点是这会告诉您所有被终止的 child 使用的资源。

那么,一旦你得到它,你会用 rusage 做什么? struct usage 具有以下形式:

struct rusage {
struct timeval ru_utime; /* user CPU time used */
struct timeval ru_stime; /* system CPU time used */
/* More. */
};

关于linux - 进程完成后的 CPU 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7050360/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com