#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
char *message;
int n;
printf("fork program starting\n");
pid=fork();
switch(pid)
{
case -1:
perror("fork failed");
exit(1);
case 0:
message="this is the child";
n=5;
break;
default:
message="this is the parent";
n=3;
break;
}
for(;n>0;n--)
{
puts(message);
sleep(1);
}
exit(0);
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
char *message;
int n;
printf("fork program starting\n");
pid=fork();
switch(pid)
{
case -1:
perror("fork failed");
exit(1);
case 0:
message="this is the child";
n=5;
break;
default:
message="this is the parent";
n=3;
break;
}
for(;n>0;n--)
{
puts(message);
sleep(1);
}
exit(0);
}
首先介绍一下,对于我们这种菜鸟学习linux来说,使用ubuntu是一个不错的选择,而且在ubuntu的软件中心有一个编译器codeblock,可以计算出程序运行的时间,很适合搞ACM的学者使用,同时,这种方式和在windows下面很相似,很适合初学者使用,经过前面一系列的准备,现在算是正式的一个开始吧,用fork来复制一个进程,这两个进程分别运行,在codeblock下面运行这个程序,会看到程序结束之后子进程还在执行,具体的运行结果可以自己讲程序复制自己去运行看看.