times返回的buf中的结构体成员的值为什么每次都是0

wukewuke666 2024-01-06 11:54:31
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <unistd.h>
#include <sys/types.h>
#include <wait.h>
#include <glob.h>
#include <sys/times.h>
#include <time.h>
extern char **environ;
int main(int argc, char *argv[])
{
    glob_t globres;
    int i = 0;
    struct tms startbuf;
    struct tms endbuf;
    long int start,end;
    if ((start=times(&startbuf) )== -1)
    {
        perror("times()");
        exit(1);
    }
    long clockticks = sysconf(_SC_CLK_TCK);
    if (argc < 2)
    {
        fprintf(stderr, "Usage:%s <file> <argument>\n", argv[0]);
        exit(1);
    }
    pid_t pid;
    pid = fork();
    if (pid < 0)
    {

        perror("fork()");
        exit(1);
    }
    if (pid == 0) // 子进程
    {

        for (i = 1; i < argc; i++)
        {
            if (i == 1)
                glob(argv[i], GLOB_NOCHECK, NULL, &globres);
            else
                glob(argv[i], GLOB_NOCHECK | GLOB_APPEND, NULL, &globres);
        }
        execvp(argv[1], globres.gl_pathv);
        perror("execvp()");
        exit(1);
    }
    else if (pid > 0) // 父进程
    {
        wait(NULL);
        if ((end=times(&endbuf)) == -1)
        {
            perror("times()");
            exit(1);
        }
        printf("start=%ld end=%ld clock_per=%ld\n",start,end,clockticks);
        //访问里面的时间还是0?
        printf("%ld\n%ld\n%ld\n%ld\n", startbuf.tms_cstime, startbuf.tms_cutime, startbuf.tms_stime, startbuf.tms_utime);
        printf("%ld\n%ld\n%ld\n%ld\n", endbuf.tms_cstime, endbuf.tms_cutime, endbuf.tms_stime, endbuf.tms_utime);
        //printf("real   %fs\nuser   %fs\nsys   %fs\n",(double)((buf.tms_cutime+buf.tms_cstime)/clockticks) \
                 ,(float)(buf.tms_cutime/clockticks),(float)(buf.tms_cstime/clockticks));
    }
    exit(0);
}

为什么我的endbuf.tms_cstime和startbuf.tms_cstime全是0,endbuf和startbuf里面的成员的值为什么都为0

 

...全文
201 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

308

社区成员

发帖
与我相关
我的任务
社区描述
专门交流C语言,嵌入式软件,PCB设计的社区。
嵌入式硬件单片机stm32 技术论坛(原bbs)
社区管理员
  • 风正豪
  • 智者知已应修善业
  • pg_hj
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

(1)在该社区可以在对应频道下交流问题。

(2)在问问题的时候,希望各位成员预先看一下这篇博客https://blog.csdn.net/qq_63922192/article/details/127984909

(3)社区欢迎技术博客,公众号,资源,招聘信息,最新行业信息分享。

(4)招聘信息和最新行业信息请在日常分享频道。

(5)技术博客,公众号,资源在知识分享频道。

(6)如若出现反党反国,黄赌毒等违法内容直接举报!禁止讨论敏感话题与时政问题!

 

试试用AI创作助手写篇文章吧