实验要求在Linux系统中创建父子进程,现在windows系统,vscode中敲了个代码方便找bug,发现出现报错(源代码附文末)

error: 'fork' was not declared in this scope        
     pid=fork();

 了解到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);
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐