我想在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;
}