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

哪个网站的旅游板块做的好seo培训价格

哪个网站的旅游板块做的好,seo培训价格,濮阳网站建设推广,网站怎么做付款平台在Linux系统中#xff0c;fork()是一个非常重要的系统调用#xff0c;它的作用是创建一个新的进程。具体来说#xff0c;fork()函数会在当前进程的地址空间中复制一份子进程#xff0c;并且这个子进程几乎完全与父进程相同#xff0c;包括进程代码、数据、堆栈以及打开的文…在Linux系统中fork()是一个非常重要的系统调用它的作用是创建一个新的进程。具体来说fork()函数会在当前进程的地址空间中复制一份子进程并且这个子进程几乎完全与父进程相同包括进程代码、数据、堆栈以及打开的文件描述符等。因此父进程和子进程之间的关系可以看作是一个“克隆”关系。 fork()函数的语法如下 #include unistd.h pid_t fork(void);其中参数pid_t代表进程id而fork()函数返回值则有以下两种情况 如果返回0表示当前进程是子进程。如果返回一个正整数表示当前进程是父进程并且返回的整数就是新创建出来的子进程的进程ID。 此外如果fork()返回值为-1表示创建子进程失败。 fork()函数的本质是在内核中创建一个新的进程控制块PCB然后将原来进程的PCB中的大部分内容都复制到新的PCB中去然后让两个进程同时运行。由于新的进程是从原来的进程所复制而来的因此新进程会继承原来进程的所有资源和信息包括内存、文件描述符、信号处理方式等。 需要注意的是fork()函数并不保证父进程和子进程的执行顺序。在fork()之后操作系统可能会先执行父进程也可能会先执行子进程这完全取决于系统的调度算法。 一般情况下父进程和子进程之间是相互独立的它们各自运行各自的代码共享的只有一部分内存空间而其他资源则是分别使用的。 #includeunistd.h #includestdio.h int i5; int main() {if(fork()!0)i;elseprintf(%d\n,i); } 此外fork()函数还可以通过返回值来区分父进程和子进程这使得父进程可以管理子进程的行为例如等待子进程结束、获取子进程的状态等。 #include stdio.h #includeunistd.h int main() {for(int i0;i3;i){printf(%d\n,fork());} } 需要注意的是fork函数会返回两次一次是在父进程中返回子进程的进程ID一次是在子进程中返回0。 以下是七个fork例子 ① Call once, return twice void fork0() {if (fork() 0) {printf(Hello from child\n);} else {printf(Hello from parent\n);} } 创建一个子进程打印hello from child父进程打印hello from parent ② Parent and child both run same code void fork1() {int x 1;pid_t pid fork();if (pid 0) {printf(Child has x %d\n, x);} else {printf(Parent has x %d\n, --x);}printf(Bye from process %d with x %d\n, getpid(), x); } 子进程会输出child has x2和bye from process 子进程ID with x2父进程会输出parent has x0和bye from process 父进程ID with x0 ③ Parent and child can continue forking void fork2() {printf(L0\n);fork();printf(L1\n);fork();printf(Bye\n); } 父进程输出一个L0、一个L1和一个Bye一个子进程输出一个L1和一个Bye一个子进程输出一个Bye两个孙子进程输出两个Bye一共一个L0、两个L1和四个Bye ④ Parent and child can continue forking #define bork forkvoid borkfork() {bork();bork();bork();printf(borked\n); } 父进程创建了一个子进程然后二者又创建了两个子进程然后四者又创建了四个子进程共八个进程输出八个borkfork ⑤ Parent and child can continue forking void fork3() {printf(L0\n);fork();printf(L1\n);fork();printf(L2\n);fork();printf(Bye\n); } 由③和④可知将会输出一个L0、两个L1、四个L2和八个Bye ⑥ Nested forks in parents void fork4() {printf(L0\n);if (fork() ! 0) {printf(L1\n);if (fork() ! 0) {printf(L2\n);fork();}}printf(Bye\n); } 由于只有在父进程中fork的返回值才会是进程ID而子进程中fork的返回值永远是0所以只有父进程会打印除L0、L1和L2并创建三个子进程四个进程再打印出四个Bye ⑦ Nested forks in children void fork5() {printf(L0\n);if (fork() 0) {printf(L1\n);if (fork() 0) {printf(L2\n);fork();}}printf(Bye\n); } 父进程打印出L0子进程打印出L1子进程创建的子进程打印出L2并创建一个子进程四个进程打印四个Bye
http://www.pierceye.com/news/915255/

相关文章:

  • 网站loading动画效果微信开放平台介绍
  • 山东网站建设报价网页制作与网站建设答案
  • 佛山网站搭建费用淄博刚刚发布紧急通知
  • 建站教程视频下载视频直播软件开发
  • 后缀cc的网站php网站开发实例教程代码百度云
  • 注册好域名之后怎么做个人网站如何用服务器代替空间做网站
  • 电商网站建设懂你所需网络品牌营销推广途径
  • 10大免费软件下载网站推荐购物网站域名大小
  • 网站建设项目安排计划表wordpress博客官网登陆账号密码
  • 无锡网络公司网站建设app微信公众号平平面设计培训价格
  • 免费的黄冈网站有哪些平台可以用微信支付制作网站的步骤和过程
  • 杭州的网站设计公司漂亮的网站是什么建设出来的
  • 全屏网站代码佛山专业网站建设公司推荐
  • 自己做信息网站有什么设计网站
  • 检察网站建设请示wordpress 重定向多
  • 做网站用什么服务器比较好线上推广网络公司
  • 长春营销型网站制作内蒙古建设部网站官网
  • 做家教的网站微网站可以自己做吗
  • 网站优化新闻关键词挖掘工具爱网
  • 研究生院 网站 建设广州网站建设策划
  • 企业建站找哪个公司网站退出率
  • 汕头企业建站系统高密微网站建设
  • 企业建设网站个人总结报告中山蓝图科技网站建设
  • 网站规划作品邯郸免费发布信息平台
  • html5手机网站源码网站备案要如何取消
  • 商城建设网站制作微信网站模板源码
  • 品牌型网站制作公司想做百度推广找谁
  • 浙江建设监理协会官方网站网站建设的公司选择哪家好
  • 优秀网站及网址沙漠风网站建设6
  • 做数据表格的网站出口网站建设方案