怎么做用户调研网站wordpress建图片网站

web/2025/10/8 12:34:12/文章来源:
怎么做用户调研网站,wordpress建图片网站,wordpress网站 app,app开发定制外包22一、实验目的 1、掌握进程的概念#xff0c;理解进程和程序的区别。 2、认识和了解并发执行的实质。 3、学习使用系统调用fork()创建新的子进程方法#xff0c;理解进程树的概念。 4、学习使用系统调用wait()或waitpid()实现父子进程同步。 5、学习使用getpid()和getppi…一、实验目的 1、掌握进程的概念理解进程和程序的区别。 2、认识和了解并发执行的实质。 3、学习使用系统调用fork()创建新的子进程方法理解进程树的概念。 4、学习使用系统调用wait()或waitpid()实现父子进程同步。 5、学习使用getpid()和getppid()获得当前进程和父进程的PID号。 6、掌握使用exec簇函数实现进程映像更换的方法。 7、了解系统编程学习父进程如何通过创建一个子进程来完成某项特定任务的方法。 二、实验内容 1.进程的创建 编写一段程序使用系统调用fork( )创建两个子进程在系统中有一个父进程和两个子进程活动。让每个进程在屏幕上显示一个字符父进程显示字符“a”子进程分别显示字符“b” 和“c”。试观察记录屏幕上的显示结果并分析结果。(1分) 参考程序 #includestdio.h#includestdlib.h#includeunistd.h#includesys/types.hint main(){   int  p1, p2;while((p1fork())-1);if(p10)printf(b );else{   while((p2fork())-1);if(p20)printf(c );elseprintf(a );}return 0;} 执行结果及结果分析 首先父进程会fork()创建一个新的子进程也就是b进程当b进程运行到if(p10)语句时就会打印出“b ”然后父进程会进入else语句再创建一个子进程c由于在父进程中p20所以进入else语句打印“a ”在创建出来的c进程中p20打印出“c ”。 修改上题在父进程中显示当前进程识别码在每个子进程中显示当前进程识别码和父进程识别码运行程序查看结果分析运行结果。(1分) #includestdio.h#includestdlib.h#includeunistd.h#includesys/types.hint main(){   int  p1, p2;while((p1fork())-1);if(p10)    //p1子进程printf(b: pid%d ppid%d\n,getpid(),getppid());else       //父进程{   while((p2fork())-1);if(p20)//p2子进程printf(c: pid%d ppid%d\n,getpid(),getppid());else     //父进程printf(a: pid%d\n,getpid());}return 0;} 父进程a首先创建出一个子进程p1在p1进程中p10打印出p1的pid和ppid可以看出b的父进程为a然后主进程运行到else语句中再次创建一个子进程p2在p2进程中p20打印出c的pid和ppid可以看出c的父进程为a主进程运行到else语句打印出自己的pid。 改进上题使父进程等待两个子进程结束之后再结束。(1分) #include stdio.h#include stdlib.h#include unistd.h#include sys/types.h#include sys/wait.hint main() {int p1, p2;while ((p1 fork()) -1);if (p1 0) { // 子进程p1printf(b: pid%d ppid%d\n, getpid(), getppid());} else { // 父进程while ((p2 fork()) -1);if (p2 0) { // 子进程p2printf(c: pid%d ppid%d\n, getpid(), getppid());} else { // 父进程printf(a: pid%d\n, getpid());// 等待两个子进程结束}}return 0;} 2.编写程序创建进程树如图1所示在每个进程中显示当前进程识别码和父进程识别码。1分 图1进程树的参考程序 #includestdio.h#includeunistd.hint main(){int  p1,p2,p3;while((p1fork()) -1);if(p10){while((p2fork())-1);       if(p20){while((p3fork())-1);       if(p30)   //p3子进程printf( d,Mypid%d, myppid%d\n, getpid(), getppid());else   //p2子进程printf( c,Mypid%d, myppid%d\n, getpid(), getppid());}else //p1子进程printf( b,Mypid%d, myppid%d\n, getpid(), getppid());}else //主进程printf( a,Mypid is %d\n, getpid());getchar();} 编译及执行程序 结果截屏 3.模仿第2题按图2进程树编写程序给出编译及执行过程和结果截屏。1分 #include stdio.h#include stdlib.h#include unistd.h#include sys/wait.h#include sys/types.hint main() {int p1, p2, p3, p4, p5;while ((p2 fork()) -1 );if(p2 0){waitpid(p2,NULL, 0);printf(a: pid%d\n, getpid());while ((p4 fork()) -1);if(p4 0){waitpid(p4, NULL, 0);printf(d: pid%d, ppid%d\n, getpid(), getppid());while ((p5 fork()) -1);if(p5 0){waitpid(p5, NULL, 0);printf(d: pid%d, ppid%d\n, getpid(), getppid());}exit(0);}waitpid(p4, NULL, 0);}else if(p2 0){waitpid(p2, NULL, 0);printf(b: pid%d, ppid%d\n, getpid(), getppid());while ((p3 fork()) -1);if (p3 0) {waitpid(p3, NULL, 0);printf(c: pid%d, ppid%d\n, getpid(), getppid());exit(0);}waitpid(p3, NULL, 0);}return 0;} 4.分析程序给出编译及执行过程和结果截屏。2分 1 #includeunistd.h#includestdlib.h#includestdio.hmain(){   int child,p;while((childfork())-1);if(child0)    //子进程下{   printf(In child: sleep for 10 seconds and then exit. \n);sleep(10);exit(0);}else    //父进程下{   do{   pwaitpid(child,NULL,WNOHANG);  //非阻塞式等待子进程结束if(p0){   printf(In father: The child process has not exited.\n);sleep(1);}}while(p0);if(pchild){   printf(Get child exitcode then exit!\n);}else{   printf(Error occured!\n);}}exit(0);} 编译及执行过程和运行结果截屏 分析程序功能 这段程序的功能是创建一个子进程然后父进程非阻塞地等待子进程结束。父进程调用fork()创建子进程。如果fork()成功子进程会打印一条消息并休眠10秒然后退出。如果fork()失败父进程会继续尝试创建子进程直到成功。父进程在一个循环中使用waitpid()函数以非阻塞方式等待子进程结束。这意味着父进程会定期检查子进程的状态而不会被阻塞。如果waitpid()返回0表示子进程尚未退出父进程会打印一条消息并休眠1秒。循环直到waitpid()返回的进程ID等于子进程的ID表示子进程已经退出。最后父进程根据waitpid()返回的值来判断是否成功等待子进程退出并打印相应的消息。综上所述该程序实现了父进程非阻塞地等待子进程退出并在子进程退出后打印相应的消息。 2 #includeunistd.h#includestdlib.h#includestdio.hmain(){   int child,p;while((childfork())-1);if(child0)    //子进程下{   execl(/home/student/welcome.out,,NULL);exit(0);}else    //父进程下{   pwaitpid(child,NULL,0);  //阻塞式等待子进程结束  if(pchild)printf(Get child exitcode then exit!\n);elseprintf(Error occured!\n);}exit(0);}子进程要加载程序的源程序welcome.c#includestdio.hmain(){   printf(Hello! This is another process.\n);} 编译及执行过程和运行结果截屏 分析程序功能 这段程序的功能是创建一个子进程然后父进程阻塞地等待子进程结束接着根据waitpid()返回的值判断子进程是否成功退出并打印相应的消息。父进程调用fork()创建子进程。如果fork()成功子进程会调用execl()函数执行另一个程序/sy/sy1/welcome.out然后子进程会退出。如果fork()失败父进程会继续尝试创建子进程直到成功。父进程使用waitpid()函数以阻塞方式等待子进程结束其中参数NULL表示不获取子进程的退出状态参数0表示等待任何子进程退出。当子进程退出后waitpid()会返回子进程的进程ID。父进程根据waitpid()返回的值来判断是否成功等待子进程退出并打印相应的消息。综上所述该程序实现了父进程阻塞地等待子进程退出并在子进程退出后打印相应的消息。 5. 编程创建2个子进程子进程1运行指定路径下的可执行文件(如/home/student/welcome.out)子进程2暂停10s之后退出父进程先用阻塞方式等待子进程1的结束然后用非阻塞方式等待子进程2的结束待收集到二个子进程结束的信息父进程就返回。2分 参考程序框架 #include unistd.h#include stdlib.h#include stdio.h#include sys/wait.h#include sys/types.hint main() {int child1, child2, p;while ((child1 fork()) -1);if (child1 0) {execl(/sy/sy1/welcome.out, , NULL);exit(0);} else {while ((child2 fork()) -1);if (child2 0) {// 子进程2暂停10秒后退出sleep(10);exit(0);} else {// 父进程等待子进程1结束p waitpid(child1, NULL, 0);if (p child1)printf(Get child1 exitcode then exit!\n);elseprintf(Error occurred!\n);// 父进程非阻塞方式等待子进程2结束do {p waitpid(child2, NULL, WNOHANG);if (p 0) {printf(In father: The child2 process has not exited.\n);sleep(1);}} while (p 0);if (p child2)printf(Get child2 exitcode then exit!\n);elseprintf(Error occurred!\n);}}exit(0);} 编译及执行过程 结果截屏 6.编写一个简易的shell解释程序。其运行原理是当命令行上有命令需要执行时shell进程获得该命令然后创建子进程让子进程执行该命令shell进程等待子进程退出之后继续等待命令行上的命令周而复始。(附加题) #include stdio.h#include stdlib.h#include unistd.h#include sys/wait.h#include string.h#define MAX_COMMAND_LENGTH 100int main() {char command[MAX_COMMAND_LENGTH];pid_t pid;int status;while (1) {// 打印提示符printf(shell );// 读取命令行输入if (fgets(command, sizeof(command), stdin) NULL) {printf(Error reading command\n);continue;}// 移除命令行输入中的换行符command[strcspn(command, \n)] \0;// 创建子进程pid fork();if (pid 0) {perror(fork);exit(EXIT_FAILURE);} else if (pid 0) {// 在子进程中执行命令execlp(command, command, NULL);// 如果execlp返回说明命令执行失败perror(execlp);exit(EXIT_FAILURE);} else {// 父进程等待子进程退出waitpid(pid, status, 0);}}return 0;} 三、实验总结和体会1分 通过本次实验我学到了以下几点 学习了如何使用fork()函数创建子进程以及父子进程之间的关系。 理解了使用wait()和waitpid()函数等待子进程结束并获取子进程的退出状态。 掌握了使用execl()函数在子进程中执行外部命令。 加深了对进程间通信和进程控制的理解例如父进程等待子进程退出的过程。 熟悉了在C语言中使用系统调用来实现基本的shell解释器功能。 总的来说通过实验我加深了对进程管理、进程通信和操作系统底层的理解并且了解了基本的Linux系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站主页建设格式农村电商怎么做

如下遍流程图,接下来的代码就按照这个逻辑来写 创建user_login.py文件,代码如下 #codingutf-8 from MySQLdb import* from hashlib importsha1 if __name____main__: try: #接收输入用户名、密码 unameraw_input(请输入用户名&…

怎么用自己主机做网站_做家电维修网站能接到单吗

目录 身份鉴别 访问控制 安全审计 剩余信息保护 通信完整性 通信保密性 抗抵赖 软件容错 身份鉴别 进阶 访问控制 进阶 安全审计 进阶 剩余信息保护 进阶 通信完整性 通信保密性 抗抵赖 软件容错 ~over~

网站建设的业务员什么网址可以玩大型游戏

摘要:8月8日,首届贵州科技节“2023数据要素流通关键技术论坛”在贵阳举行。此次论坛由贵州省科学技术协会指导,贵州省计算机学会主办,中国计算机学会贵阳会员活动中心、贵州轻工职业技术学院、贵州电子科技职业学院、贵州省大数据…

简述网站开发主要步骤微信小程序电商平台开发

在这儿逛的朋友一看转移系统文件夹,肯定想到了Windows7优化大师或者魔方,通过他们可以轻松的转移“收藏夹”、“我的文档”等等系统文件夹。但是,如果要把 c:users 这个文件夹彻底转移怎么办呢?Windows7的用户文件夹默认所在位置是系统盘(通…

做的网站如何改标题深圳福步外贸论坛

文章目录一、命令介绍二、选项参数三、命令示例(一)命令从字符串中读取一、命令介绍 sh命令是shell命令语言解释器,执行命令从标准输入读取或从一个文件中读取。通过用户输入命令,和内核进行沟通! Bourne Again Shel…

西湖区住房和城市建设局网站青岛外贸网站

/*** 题目描述* 你现在是一场采用特殊赛制投篮大赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。* 比赛开始时,记录时空白的。你会得到一个记录操作的字符串列表aops,其中ops[i]是你需要记录的第i项操作&a…

征婚网站开发WordPress手机不显示

1 操作系统 概念:任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括 内核(进程管理,内存管理,文件管理,驱动管理) 其他程序(例…

一等一网站建设学校网站建设方案策划书

项目编号: S 040 ,文末获取源码。 \color{red}{项目编号:S040,文末获取源码。} 项目编号:S040,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 健康档案模块2.2 体检档案模块2.3 健…

网站开发宣传图片php开发网站优势

1.前言 最近SSM框架开发web项目,用得比较火热。spring-MVC肯定用过,在请求处理方法可出现和返回的参数类型中,最重要就是Model和ModelAndView了,对于MVC框架,控制器Controller执行业务逻辑,用于产生模型数据…

动态型网站建设哪里便宜seo网站关键词优化方式

题目描述&#xff1a; 大家应该都会玩“锤子剪刀布”的游戏&#xff1a;现给出两人的交锋记录&#xff0c;请统计双方的胜、平、负次数&#xff0c;并且给出双方分别出什么手势的胜算最大。 输入描述: 输入第1行给出正整数N&#xff08;<105&#xff09;&#xff0c;即双方…

健身俱乐部网站模板风云办公ppt模板网站

一.单元测试 1.1 go test工具 go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程类似&#xff0c;并不需要学习新的语法&#xff0c;规则和工具。 go test命令是一个按照一定约定和组织的测试代码的驱动程序。在包目录内&#xff0c;所有以_test.go为后缀名的…

才艺多网站建设平台公司及企业如何建立自己的购物网站

外观模式概述 外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;它为复杂的系统、程序库或框架提供一个简单&#xff08;但有限&#xff09;的接口这种模式的核心理念是隐藏系统的复杂性&#xff0c;仅对外暴露一个简化的接口&#xff0c;使得…

最新网站查询工具贵州省住房和城乡建设厅证件查询

前言 先讲个故事&#xff0c;传说古代印度有三根黄金柱&#xff0c;64个石盘&#xff0c;需要将石盘从第一根移动到第三根上&#xff0c;规定每次只能移动一片&#xff0c;并且小盘在放置时必须在大盘上。 当石盘移动完毕时&#xff0c;世界就会毁灭。 汉诺塔——递归 接下来…

描述一下网站建设的基本流程qq浏览器网页版入口

一、事务回顾 回顾地址&#xff1a; 深入理解数据库事务&#xff08;超详细&#xff09;_数据库事务操作_Maiko Star的博客-CSDN博客 事务&#xff1a; 是一组操作的集合&#xff0c;是一个不可分割的工作单位&#xff0c;这些操作要么同时成功&#xff0c;要么同时失败 事…

山东华建建设有限公司网站网站的按钮怎么做

效果展示图 使用插件 Formik 负责表单校验、监听表单提交、数据校验错误信息展示 Yup 负责表单校验规则 分析页面 从上述的展示图我们可以看到的主要元素有&#xff1a;输入框、单选按钮和按钮。其中生成的密码长度不可能很大也不可能为负数和 0&#xff0c;所以我们可以限…

建设网站的功能定位网站建设与推广的策划方案

当为你的下一个设计方案选择正确的核心处理器件时&#xff0c;你应该考虑哪些因素呢?本文将对MPU和MCU做些对比分析&#xff0c;并以此对器件的选择给出一些指导性建议和意见。 本文引用地址&#xff1a;http://www.eepw.com.cn/article/164617.htm 每当在为新设计选择正确合理…

哪个网站做照片书最好看做自媒体挣钱的网站有哪些

工厂设计模式和策略设计模式这次我想谈谈策略设计模式 。 通过这种方式&#xff0c;我开始撰写有关行为设计模式的文章。 这种模式表示对象之间的某些交互模式&#xff0c;以使代码更灵活且组织得更好。此方法的最本质点是对象之间的松散耦合。 当您的应用程序中有多个实现目的…

网站的建设流程个性定制网站

解决办法&#xff1a; 临时变更wget的UA wget -U "浏览器的useragent" 下载地址永久变更Wget&#xff08;未测试&#xff09; 修改配置文件/etc/wgetrc&#xff0c;添加下面这一行&#xff1a; header User-Agent: "浏览器的useragent"上面这个配置后…

杭州网站设计 site互联网装修公司排行榜

我最近在做一个项目的时候需要把树莓派上的摄像头拍摄的图片实时传输到我的PC上我想通过socket完成这个功能我找了找网上的代码&#xff0c;好多都是python2.x版本的&#xff0c;或者是图片总是传不过来的&#xff0c;只能自己写了一个我先附上我的源代码&#xff0c;再来聊一聊…

创业 建网站十大ppt模板免费下载网站

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 迭代器在Python中是一种基本但却经常被忽视的概念。它们是Python处理集合数据的基石&#xff0c;无论是简单的列表还是复杂的自定义数据结构。理…