-3
我正在学习C并尝试执行以下程序。模拟调度程序的C程序
在过去,我使用fork()和exec(),但对于相当简单的应用程序。
然而,该方案应做到以下几点:
1.程序必须使用fork()和exec()
2.必须调用几个节目,一次一个
3.必须杀死以前的程序,只在一个时间上运行的一个程序
4.方案必须运行直到ctrl-c
执行
上一页例如fork()
& exec()
代码。我如何修改下面的代码来实现上述步骤?
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
int main(int argc, char **argv)
{
void runit(void);
int pid; /* process ID */
switch (pid = fork())
{
case 0: /* a fork returns 0 to the child */
runit();
break;
default: /* a fork returns a pid to the parent */
sleep(5); /* sleep for 5 seconds */
printf("I'm still here!\n");
break;
case -1: /* something went wrong */
perror("fork");
exit(1);
}
exit(0);
}
void runit(void)
{
printf("About to run ls\n");
execlp("ls", "ls", "-af", "/", (char*)0);
perror("execlp"); /* if we get here, execlp failed */
exit(1);
}
我们不是来为你做这项工作的。请阅读每个功能的手册页,考虑它们如何适用于您的任务要求,并给它一个红热的去。如果您仍然有困难,请回复更具体的问题。 – kaylum
@AlanAu我不是要你为我工作。我只需要从我以前的代码开始。 – user3337714
那么对你的问题更具体一些。你基本上没有多少努力就舍弃了作业题目。这是你的工作,要问一个不是我们的具体问题,以确切地猜出你需要帮助什么。 – kaylum