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

推广做黄页网站二维码生成在线制作

推广做黄页网站,二维码生成在线制作,建一个电商网站要多少钱,长沙注册公司核名网站目录 api 创建新进程 注意 运行某文件 例子 注意 例子#xff0c;等待进程 进程是由进程控制块、程序段、数据段三部分组成 进程有都有一个父进程#xff0c;除了init#xff0c;父进程可以创建子进程 每个进程都有一个PID#xff0c;可以用ps来查看#xff0c;等…目录 api 创建新进程 注意 运行某文件 例子 注意 例子等待进程 进程是由进程控制块、程序段、数据段三部分组成 进程有都有一个父进程除了init父进程可以创建子进程 每个进程都有一个PID可以用ps来查看等于进程的身份证 pid是本身进程的pidppid是父进程的pid api 创建新进程 当一个进程调用 fork( )成功后fork( )将分别返回到两个进程之中换句话说fork( ) 在父子两个进程中都会返回而他们所得到的返回值也不一样 注意 fork( )会使得进程本身被复制想想细胞分裂因此被创建出来的子进程和父进程几乎是一模一样的说“几乎”意味着子进程并不是 100%为一份父进程的复印件他们的具体关系如下父子进程的以下属性在创建之初完全一样子进程相当于搞了一份复制品 实际 UID 和 GID以及有效 UID 和 GID。所有环境变量。进程组 ID 和会话 ID。当前工作路径。除非用 chdir()加以修改打开的文件。信号响应函数。整个内存空间包括栈、堆、数据段、代码段、标准 IO 的缓冲区等等父子进程是相互独立的由于子进程完整地复制了父进程的内存空间因此从内存 空间的角度看他们是相互独立、互不影响的父子进程是相互平等的他们的执行次序是随机的 运行某文件 被加载的文件的参数列表必须以自身名字为开始以 NULL 为结尾。比如要加载执 行当前目录下的一个叫做 a.out 的文件需要一个参数”abcd”那么正确的调用应该是 execl(“./a.out”, “a.out”, “abcd”, NULL); 或者const char *argv[3] {“a.out”, “abcd”, NULL};execv(“./a.out”, argv);exec 函数簇成功执行后原有的程序代码都将被指定的文件或脚本覆盖因此这些函数一旦成功后面的代码是无法执行的他们也是无法返回的 例子 1 #include stdio.h 2 #include stdlib.h 3 #include unistd.h 4 5 int main(int argc, char **argv) 6 { 7 pid_t x; 8 x fork(); 9 10 if(x 0) // 父进程 11 { 12 printf([%d]: I am the parent\n, (int)getpid()); 13 exit(0); 14 } 15 16 if(x 0) // 子进程 17 { 18 printf([%d]: I am the child\n, (int)getpid()); 19 execl(./child_elf, child_elf, NULL); // 执行 child_elf 程序 20 21 printf(NEVER be printed\n); // 这是一条将被覆盖的代码 22 } 23 24 return 0; 25 } 运行结果是 [24585]: I am the parent vincentubuntu:~/ch05/5.2$ [24586]: I am the child [24586]: yep, I am the child 简单来说exit会执行退出程序之前运行退出处理函数可以用atexit来注册退出处理函数例如 void routine1(void) // 退出处理函数 {printf(routine1 is called.\n); } atexit(routine1); 注意 所谓的退出状态不是退出值退出状态包括了退出值。如果使用以上两个函数成 功获取了子进程的退出状态则可以使用以下宏来进一步解析 例子等待进程 1 #include stdio.h 2 #include stdlib.h 3 #include stdbool.h 4 #include unistd.h 5 #include string.h 6 #include strings.h 7 #include errno.h 8 9 #include sys/stat.h 10 #include sys/types.h 11 #include fcntl.h 12 13 int main(int argc, char **argv) 14 { 15 pid_t x fork(); 16 17 if(x 0) // 子进程执行指定程序 child_elf 18 { 19 execl(./child_elf, child_elf, NULL); 20 } 21 22 if(x 0) // 父进程使用 wait( )阻塞等待子进程的退出 23 { 24 int status; 25 wait(status); 26 27 if(WIFEXITED(status)) // 判断子进程是否正常退出 28 { 29 printf(child exit normally, 30 exit value: %hhu\n, WEXITSTATUS(status)); 31 } 32 33 if(WIFSIGNALED(status)) // 判断子进程是否被信号杀死 34 { 35 printf(child killed by signal: %u\n, 36 WTERMSIG(status)); 37 } 38 } 39 40 return 0; 41 }
http://www.yingshimen.cn/news/108451/

相关文章:

  • 如何建设国外网站郑州网站开发比较好的网络公司
  • 网站首页关键词设置做证明图片的网站
  • 做网站商城的目的是什么叙述一个网站开发流程
  • 可以做头像的网站有哪些如何创建商业网站
  • 网站制作方案有哪些微平台推广自己怎么做
  • 用asp.net做的网站贴吧网站建站推荐
  • 顺德顺的网站建设鞍山网站建设优化
  • 织梦做的网站页面打不开南阳手机网站建设
  • 专业做医药招聘的网站使用asp.net制作网站的整体过程
  • 讨债公司网站建设怎么接单做网站
  • 湘潭网站建设 技精磐石网络江苏建设人才网电子证书查询官网
  • 深圳网站维护企业网站设计师
  • 手机购物网站 设计成为软件工程师的条件
  • 网站建设模板免费下载国家企业信用信息官网
  • 企业网站报价模板下载superstore wordpress下载
  • 手机上有趣的网站官网登录入口在哪里
  • 套模板网站价格表公司官网制作
  • wordpress做社交网站吗建筑模板一般多少钱一块
  • 很多国外ip访问网站推广公司让实名认证怎么办
  • 建设英文品牌网站建网站是永久的吗
  • 安徽省铜陵市建设局网站江门市建设工程投标网站
  • 建设购物平台网站网站群建设讲话
  • 旅游网站模块企业网站建设市场报价
  • 网站建设怎么找客户wordpress免费装修主题
  • 网站与网站之间做的好坏对比wordpress两栏响应式主题
  • wordpress底部浮动菜单重庆seo技术教程博客
  • 温州网站建设方案案例设计专业的网站搭建多少钱
  • 企业网站排名提升电子商务网站建设规划实践成果
  • 福州网站大全郑州网站搭建的公司
  • 网站建设板块免费下载无锡企业建站系统