通过C中的另一个进程获取进程的执行时间

时间:2015-02-23 14:27:21

标签: c linux

我想在C中找到第二个进程的进程执行时间(第二个进程可以在必要时暂停第一个进程。)我的算法是通过第二个进程运行一个函数,该进程在名称中返回第一个进程的PID循环而。因为如果进程完成其名称在进程列表中不存在且其PID必须等于零。

我找到了一个用于此目的的函数,但是在终止进程后该函数返回的进程PID等于正在运行的进程的PID。 有人可以帮我解决这个问题吗? 谢谢。

int mygetpid(char processname[100])
{
 char line[1000];
 char totstr[200];
 strcpy(totstr, "pidof ");
 strcat(totstr, processname);
 FILE *cmd = popen(totstr, "r");
 fgets(line, 1000, cmd);
 pid_t pid = strtoul(line, NULL, 10);
 pclose(cmd);
 return pid;
} 

0 个答案:

没有答案