当前位置: 首页 > news >正文

网站设计如何收费标准新网站如何才做被百度收录

网站设计如何收费标准,新网站如何才做被百度收录,网页模板psd,顺德营销型网站建设进程 task_struct mm_struct(虚拟地址空间) 页表 代码和数据 。 新建进程先有管理系统,然后才有代码和数据。 fork()函数:子进程返回0,父进程返回的是子进程的pid - - - 方便父进程对子进程标识。 进程终止:释放代码和数据占…

进程 = task_struct + mm_struct(虚拟地址空间) + 页表 + 代码和数据 。 新建进程先有管理系统,然后才有代码和数据。
fork()函数:子进程返回0,父进程返回的是子进程的pid - - - 方便父进程对子进程标识。

进程终止:释放代码和数据占据的空间,释放内核数据结构,task_struct 延迟释放,预防僵尸进程。
echo $? - - - 获取父进程bash获取到的最近一个子进程的退出码。 退出码默认为0表示成功,非零失败,利用不同的非0值可以表明失败的原因给父进程bash,main函数的 return 就是一个返回退出码。
在这里插入图片描述

进程终止时三种情况,1.代码跑完结果正确,2.结果不正确。结果正确不正确可以通过进程的退出码决定。3.代码出现异常,提前退出了,一旦进程出异常退出码会没有意义,进程异常时OS发给进程的信号终止进程。
kill -11 pid - - - 直接给信号为段错误,终止进程。
在这里插入图片描述
说明:实际上只要是进程执行时出问题,都是OS给该进程发的信号导致的问题,因此进程退出时可以根据推出信号来判断进程是什么异常
衡量一个进程退出,只需要一个退出码和退出信号判断进程退出的原因。
当一个进程退出时,会把自己的退出码和退出信号写入自己的PCB中,这样父进程就可以获取到子进程的退出信息得到进程的退出状态。

如何终止?
1.main函数中return,表明进程终止。非main函数return叫函数结束。
2.代码调用exit函数。在代码中任意位置调用 exit() 都是终止进程。exit 的参数就是退出码。
3._exit() 和 exit() 作用基本相同。
exit 是库函数,是C语言的。_exit 是系统调用。exit() 底层是在调用 _exit() ,但是多加了一层缓冲区冲刷。从下图可以看书,printf的缓冲区是不在OS内部的,在OS内部_exit也应该冲刷缓冲区。
在这里插入图片描述

进程等待
任何一个进程默认在结束时必须会被父进程等待,进程退出的时候如果父进程不做处理就会有僵尸进程 ‘Z’,导致内存泄漏。
父进程通过等待,解决僵尸进程回收系统资源。
获取子进程的的退出信息,了解子进程是什么原因退出的(可选功能)。
wait(int *status) - - - #include<sys/types.h> #include<sys/wait.h> - - - 等待成功,返回等待的子进程的 pid。等待父进程任意一个子进程退出。父进程 wait() 到子进程后就可以释放掉僵尸掉的子进程。如果子进程没有退出,父进程一直在阻塞等待(options==0)。
阻塞等待:
pid_t > 0 :等待成功,子进程退出了,返回子进程的pid
pid_t < 0 :等待失败。
在这里插入图片描述

pid_t waitpid(pid_t pid, int *status, int options):
pid - - - 需要等待的进程pid,pid = -1 说明设置父进程等待任何一个子进程退出,与wait作用相同。如果id = fork() 创建子进程后,这里的参数pid写fork的返回值id也表示的是等待创建的子进程。和wait()同作用。
status - - - 不需要设为NULL
status是输出型参数,表示的是等待的子进程的退出信息,退出信息指的是 退出码 + 退出信号
int类型有32位,status 只使用后16位,8-15位表示退出状态,0-7位表示退出信号。
在这里插入图片描述
拿到status的0-7和8-15位的值。
在这里插入图片描述

当子进程的代码直接死循环,从外部命令信号直接杀掉子进程如下图:
在这里插入图片描述

对于获取status的那些个位值如下更方便:

  1. WIFEXITED(status): 若为正常终止子进程返回的状态,则为真。(查看进程是否是正常退出)这个相当于是获取的status的0-7位并且查看是否正常,也就是信号位的值。
  2. WEXITSTATUS(status):若WIFEXITED非零,提取子进程退出码。(查看进程的退出码) 这个获取的是status的8-15位,也就是exit退出位的值。

当子进程没有退出时,父进程在waitpid()就是在阻塞等待,进程在阻塞等待,等到后父进程才开始运行。如果不想让父进程一直等待,第三个参数options的取值可以做到:
options - - - 0:阻塞等待,WNOHANG:非阻塞等待。

当非阻塞等待时有两种返回值:

  1. 若pid指定的子进程没有结束,则waitpid()函数返回0,不予以等待。就是说如果子进程没有退出则一直返回0.
  2. 若子进程正常结束,则返回该子进程的ID。

一般非阻塞等待时,非阻塞等待+循环=非阻塞轮询。允许父进程干一些其他的事情(DoOtherThing())。
在这里插入图片描述

http://www.yayakq.cn/news/642450/

相关文章:

  • 网站的标题可以改吗招远市建设局网站
  • 优化设计官方网站企业做网站需要花多少钱
  • 学校网站建设工作方案上海企业信息查询系统官网
  • 免费做 爱视频网站手机端怎么看世界杯
  • 查看网站是用什么做的网站建设和seo的工作好不好
  • 合肥大型网站设计公司网监要求网站备案
  • 合肥专业做网站建网站好
  • 网站代理备案价格引流推广平台软件
  • 做投票网站的现在的网站推广是怎么做的
  • 软件公司网站微信开放api
  • 佛山新网站制作怎么样网站推广--html关键词代码解说
  • 惠州私人做网站联系人怎么才能知道网站是谁做的
  • 做网站开创和中企动力哪家强泉州网站制作
  • 莱芜定制网站建设公司鞍山网站哪家好
  • 视频公司的网站设计网页怎么制作成二维码
  • 大型网站建设济南兴田德润团队怎么样广东省建设工程安监局网站
  • 济南市工程建设技术监督局网站百度搜索推广的定义
  • 网上商城 网站建设 解决方案互联网销售包括哪些
  • 网站开发和企业级开发有什么区别aspnet网站开发实例视频
  • 目前哪些企业需要做网站建设的呢下列哪些属于网络营销的特点
  • 先网站开发后软件开发好网站建设功能的策划书
  • 网站开发 语言dedecms调取友情链接 网站类型
  • 响应式网站自助建站服务号 订阅号
  • 曹县网站开发公司ae射频电源成色
  • 站长之家ppt在百度怎么创建自己的网站
  • 做网站视频下载wordpress会员破解
  • 蘑菇街网站建设方案wordpress模板设计
  • 公司怎样做网站织梦如何做移动网站
  • 安全月考评哪个网站做可以在哪些网站做翻译兼职
  • app开发网站建设培训班国外seo查询