<分区>
我正在尝试通过做一些练习来学习在 UNIX 上编写 C 程序,但我被困在了这个练习上。在这个练习中,我需要父进程等待子进程做某事的确切时间,然后父进程应该通过提供子进程的 ID 来终止它。这是我的代码。
int main()
{
int pid;
pid = fork();
if (pid < 0)
{
printf("\n Error ");
exit(1);
}
else if (pid == 0)
{
printf("\n Id of child is %d ",getpid());
}
else
{
sleep 3;
kill(0);
exit(1);
}
}
问题如下。我不确定 sleep 3 是否意味着父进程为子进程等待 3 秒。我考虑过这样的方法,但它似乎在等待子进程终止。
int Time;
waitpid(childPid, &Time, 0);
if (Time == 0)
{
printf("Correct");
}
if (Time == 1)
{
printf("Error");
}
第二个问题可能更简单,但我无法找出是哪个函数完成的。子进程(或父进程,无关紧要)如何执行内置程序?