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

用dw怎麼做网站四川做网站的

用dw怎麼做网站,四川做网站的,国外营销网站,网站建设项目公司一、进程的创建 1、知识储备 进程的创建要调用系统接口#xff0c;头文件 #includeunistd.h 函数fork() 由于之前的铺垫我们现在可以更新一个概念 进程 内核数据结构#xff08;task_struct, mm_struct, 页表....#xff09; 代码 数据 所以如何理解进程的独…一、进程的创建 1、知识储备 进程的创建要调用系统接口头文件 #includeunistd.h 函数fork() 由于之前的铺垫我们现在可以更新一个概念 进程 内核数据结构task_struct, mm_struct, 页表.... 代码 数据 所以如何理解进程的独立性呢 就是上述组成进程的结构都是独立的互不影响的。 那为什么 fork() 返回的是子进程的pid呢 是为了让父进程对子进程进行表示和管理。 2、理解fork() 1fork() 常见用法 a、在一个代码中通过 fork() 不同的返回值用 if else分流以达到不同进程执行不同代码的目的。 b、可以让父子进程独立进行完全不同的代码。 2fork() 失败的原因 a、操作系统中进程太多。 b、实际用户创建的进程太多超出规定个数。 二、进程的终止 首先我们要知道进程是先创建内核数据结构再加载代码和数据。 1、终止的表现 会释放代码和数据所占据的空间释放内核数据结构task_struct 会延期释放 2、终止的三种情况 1观察现象 首先我们先观察一个现象 当我们以前在写c语言代码时我们都是 return 0; 结尾当我们今天 return 100; 时用 echo $? 命令获取进程的退出码时就会发现退出码和 return 后面的数字是一样的。 2解释 echo $? echo内建命令打印bash内部变量数据。 $访问变量内容。 父进程bash获取最近一个子进程的退出码。 3退出码 退出码0是成功非0是失败。 每一个非0数都有不同的失败原因。 头文件 #includestring.h    函数 char* strerror(int num) 可以查看退出码。 上图只截了一部分退出码。 退出码的作用就是告诉父进程子进程把任务完成的怎么样。 结论当代码跑完时结果的正确与否是由退出码反馈给用户的。 4退出信号 与退出码不同退出信号是代码还没跑完系统就崩溃了操作系统发现进程做了不该做的事比如访问野指针等等操作系统就会杀死进程。 所以一旦出现异常退出码也就没有意义了但是返回的退出信号是有意义的。 例如Segmentation fault 就是段错误代码段是有错误的。 退出信号的本质操作系统给进程发信号并终止进程。 之前我们说kill -9 可以直接杀死进程也就是这个原因而我们上面提到的段错误 Segmentation fault 就是操作系统发送了 kill -11 信号。 5总结 衡量一个进程的退出只要看退出码和退出信号。 先确认是否异常若不是才看退出码。 所以在子进程的 task_struct 中就会有 exit_code(退出码)  exit_signal(退出信号)在执行完代码后写入退出码和退出信号供父进程读取。 3、如何终止 1main()函数中的 return 代表进程终止普通函数 return 表示函数结束 2调用头文件#includestdlib.h 函数 void exit(int status) status相当于退出码exit等价于return 3调用头文件#includeunistd.h 函数 void _exit(int status)基本与exit函数相同一个是c库函数一个是系统调用。 区别 exit 执行时会冲刷缓冲区但是 _exit不会所以其实这里所说的缓冲区只是c库层面的不是系统调用层面的缓冲区。 exit本质就是底层调用 _exit 三、进程等待 任何子进程在退出的情况下必须要被父进程等待。如果父进程不管子进程就会处于僵尸状态导致内存泄漏。 三、进程的等待 1、为什么父进程要等待子进程 1解决僵尸问题回收系统资源。必须 2获取子进程退出信息知道子进程为什么退出。可选 2、怎么等待 1wait 函数 头文件 #includesys/types.h #includesys/wait.h 函数 pid_t wait(int* status) 等待成功返回子进程的pidwait(NULL)表示父进程等待任意一个子进程退出。 若子进程一直不退出父进程就进入阻塞等待。 阻塞等待的本质把父进程设为非运行状态S链入到子进程队列中子进程退出父进程唤醒。 2waitpid 函数 头文件 #includesys/types.h #includesys/wait.h 函数 pid_t waitpid(pid_t id, int* status, int options) waitpid(-1, NULL, 0)等价于wait(NULL) a、理解参数 id id 表示要等待哪个子进程 所以理解代码 pid_t id fork(); waitpid(id, NULL, 0); 在父进程中fork()返回子进程pid所以就指定了要返回哪个子进程了。 b、理解参数 status status是输出型参数例如 scanf()就是把数值写入到一个变量中输出的是退出信息包括退出码和退出信号 理解额代码 我们知道int有32位bit位status只考虑低16位 获取退出码(status8) 0xFF 获取退出信息status 0x7F c、获取退出码的宏 WIFEXITED(status)     代码正常走完就返回真 WEXITSTATUS(status)    若WIFEXITED为真就提取退出码 3非阻塞等待 上述父进程都是等子进程跑完之后才工作的这种都是阻塞等待调用waitpid默认也是阻塞等待但是我们想让父进程在等待时做其他事情就要让 waitpid 中 option 设成 WNOHANG 此时返回值 0等待失败。 返回值 0检测成功但是子进程未退出等待下一次检测。 返回值 0等待成功并且父进程回收成功。 非阻塞等待 循环 非阻塞轮询 达到父进程能做其他事情。
http://www.hkea.cn/news/14419870/

相关文章:

  • 建设一个类似淘宝的网站宁波seo 外包代运营
  • 炫酷网站界面设计网站域名需要购买吗
  • 有那些可以自己做壁纸的网站深圳微信公众号
  • 万能搜索引擎网站浙江省建设厅干部学校门户网站
  • 京东网站建设项目需求分析报告宿迁手机网站建设公司
  • 企业做网站的坏处做桂林网站的图片
  • 两学一做网站 新闻软件开发活动的顺序应该是
  • 网站运营暂停什么是网络营销的概率
  • 学校安全教育网站建设国内设计大神网站
  • 2015做导航网站好百度提交入口网址是什么
  • 网站建站 优化辽宁建设工程招标网
  • 淄博网站建设 华夏国际四种基本营销模式
  • 网页设计制作一个餐饮网站做企业网站的字体大小要求
  • 网站建设 案例网站页面效果图怎么做
  • 锦江区建设和交通局网站绵阳城乡住房建设厅网站
  • 个人建站模板网站图片特效源码
  • 基于wordpress的英文小游戏站外贸网站开发
  • 怎样用ps做网站首页图片如何搭建一个论坛网站
  • 高端网络建站jpress 和wordpress
  • 网站字号网络服务器租赁费一般多少钱
  • 建设银行网站注册用户名不通过“网站制作”
  • 新浪网站是什么程序做的网站服务器租用一般费用
  • 怎样做才能让网站帮忙送东西wordpress 系统环境
  • 丹东网站建设公司wordpress文章伪静态
  • 长沙房地产信息网官网seo如何优化排名
  • 499可以做网站外贸网站设计公司
  • 一个网站可以做多少个小程序centos 安装 wordpress
  • 电子商务网站的开发原则包括那些网站能够做推广
  • 潍坊正规网站建设公司南昌市房产网
  • 什么是网站二级目录提高网站关键词排名