实验要求在Linux系统中创建父子进程,现在windows系统,vscode中敲了个代码方便找bug,发现出现报错(源代码附文末)
了解到fork()只能在linux中创建父子进程,vscode跑不起来。(6条消息) [Error] ‘fork‘ was not declared in this scope。写了#include<unistd.h>也没用_好人不心的博客-CSDN博客https://blog.csdn.net/m0_59834108/article/details/120971830?ops_request_misc=&request_id=&biz_id=102&utm_term=%27fork%27%20was%20not%20declared%20in%20thi&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-120971830.142%5Ev2%5Earticle_score_rank,143%5Ev4%5Eregister&spm=1018.2226.3001.4187
后续放到Linux中编译运行成功。
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
pid_t pid;
char*msg;
int k;
printf("观察父子进程执行的先后顺序,了解调度算法的特征\n");
pid=fork();
switch(pid) {
case 0:
msg="子进程在运行";
k=3;
break;
case -1:
msg="进程创建失败";
break;
default:
msg="父进程在运行";
k=5;
break;
}
while(k>0)
{
puts(msg);
sleep(1);
k--; }
exit(0);
}