本文使用Linux系统,语言使用C语言
1.如何在Linux系统下,编译运行C语言
1.1创建编写一个.c文件 如a.c
1.2编译.c 文件
gcc a.c -o a.out
1.3运行.c文件
./ a.out
2.实验
2.1实验一:创建进程
#include <stdio.h>
int main(){
int p1,p2,i;
while((p1=fork())==-1);
if(p1==0){
for(i=0;i<10;i++){
printf("daugter %d ,pid= %d\n",i,getpid());
}
}else{
while((p2=fork())==-1);
if(p2==0){
for(i=0;i<10;i++){
printf("som %d ,pid= %d\n",i,getpid()); }
}else{
for(i=0;i<10;i++){
printf("parent %d ,pid= %d\n",i,getpid());
}
}
}
return 0;
}
结果:
2.2实验二:创建进程,增加sleep语句使结果交叉
#include <stdio.h>
int main() {
int p1, p2, i;
while ((p1 = fork()) == -1);
/*创建进程 p1*/
if(p1 == 0) {
for (i = 0; i < 8; i++) {
printf("daughter %d \n", i);
sleep(4);
}
} else {
while ((p2 = fork()) == -1);
/*创建进程 p2*/
if (p2 == 0) {
for (i = 0; i < 8; i++) {
printf("son %d \n", i);
sleep(4);
}
} else {
for (i = 0; i < 8; i++) {
printf("parent %d \n", i);
sleep(4);
}
}
}
return 0;
}
结果: