用c检查时间

用c检查时间,c,time,C,Time,我想检查一个进程是否仍在运行-如果是,则更新当前时间-如果没有返回出函数bc进程已死亡…如果进程未死亡且停止限制已过,则退出循环,但currTime似乎没有更新 int g_iStopLimit = 30; //declared globally /////process gets signaled to be killed but may take a while to close cleanly... time_t startTime, currTime; time(&star

我想检查一个进程是否仍在运行-如果是,则更新当前时间-如果没有返回出函数bc进程已死亡…如果进程未死亡且停止限制已过,则退出循环,但currTime似乎没有更新

int g_iStopLimit = 30; //declared globally


/////process gets signaled to be killed but may take a while to close cleanly...

time_t startTime, currTime;
time(&startTime);
currTime = time(NULL);

do //check to see if process gets killed
{
    if (kill(g_StatusInstance[i].pid, 0) == 0)  //some global array
    {
        currTime = time(NULL);
    }
    else
    {
        return;
    }

}while(currTime >= (startTime + g_iStopLimit));


////send a stronger signal and call kill - use recursion and call function over until it kills it
应该是

while(currTime <= (startTime + g_iStopLimit));
while(当前时间)
应该是

while(currTime <= (startTime + g_iStopLimit));

while(currTime)“kill()”做什么?如果kill总是返回0,currTime<(startTime+g_iStopLimit),那么它将永远循环。kill检查进程是否仍在运行……kill()做什么?如果kill总是返回0,currTime<(startTime+g_iStopLimit),然后它将永远循环。终止检查以查看进程是否仍在运行…问这个问题感觉非常愚蠢-我被这样的事实所吸引,当我打印超时时,它没有改变,我甚至没有意识到问这个问题感觉非常愚蠢-我被这样的事实所吸引,当我打印超时时,它没有改变,我我甚至没有意识到