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

wordpress历史版本石家庄关键词优化软件

wordpress历史版本,石家庄关键词优化软件,建一个购物网站大约多少钱,wordpress购物车系统目录 前言#xff1a; 1 直接看代码和现象 2 解释原理 3 将代码改成多进程版本 4 认识所有函数并使用 前言#xff1a; 由前面的章节学习#xff0c;我们已经了解了进程状态#xff0c;进程终止以及进程等待#xff0c;今天#xff0c;我们学习进程替换。进程替换我…目录 前言 1 直接看代码和现象 2 解释原理 3 将代码改成多进程版本 4 认识所有函数并使用 前言 由前面的章节学习我们已经了解了进程状态进程终止以及进程等待今天我们学习进程替换。进程替换我们从如下几个点开始介绍第一直接看现象第二解释原理第三将代码改成多线程版本第四使用所有的替换函数认识参数的含义。 废话不多说直接进入主题。 1 直接看代码和现象 我们使用一段代码进入到进程替换 int main() {printf(test begin...\n); execl(/usr/bin/ls,-l,NULL);printf(test end...\n); return 0; } 根据现象我们可以看到第二个printf是没有被执行的但是第一个被执行了而我们使用到的函数叫做进程替换函数它一共有6种本质上我们理解了其中的2 - 3个我们就会使用全部的了。我们不妨使用man手册查看一下 输入 man exec 从文档里面我们可以看到进程替换的函数版本有这么多个每个函数都有返回值但是呢我们不必在意返回值因为通过现象我们看到了执行进程替换函数之后的代码都失效了所以返回值即使接受了也没有用处。  关心的情况只有一种就是进程替换失败但是这种情况十分的少见我们就自然而然的给忽略了。 2 解释原理 首先我们要清楚一个问题进程替换的全名不是进程替换替换的不是进程是程序所以在进程程序替换的这个过程本质上是没有创建新的进程的。 第一个点进程程序替换中是没有创建新进程的无非是程序替换了PCB里面原来的数据。这里我们不妨设想一个点如果PCB里面是自己替换自己的多没意思如果.cpp文件里的PCB可以被Java替换shell脚本替换岂不美哉 第二个点exec函数的作用是什么 exec函数本质是一个加载函数因为有了exec函数在Linux中就可以将程序加载进去因为进程程序替换的本质就是将不同的程序加载到内存里面加载靠的就是exec*函数。 3 将代码改成多进程版本 将代码改成多线程版本我们要做的事就是父进程创建子进程创建了之后子进程执行被替换的程序父进程只需要等待多个子进程就可以了。 此时子进程的作用就有了两个一个是执行父进程的代码部分一个是让子进程执行一个全新的程序。 int main() {printf(testexec ... begin!\n);pid_t id fork();if (id 0){printf(child pid: %d\n, getpid());//childexecl(/usr/bin/ls, ls, -l, NULL);exit(1);}int status 0;pid_t rid waitpid(id, status, 0);if (rid 0){printf(father wait success, child exit code: %d\n, WEXITSTATUS(status));}printf(testexec ... end!\n);return 0; }该程序创建了一个子进程子进程实现execl如果执行失败也就是替换失败就走exit程序直接退出退出码为1此时父进程只需要等待即可 以上是现象今天的重点都不是前三个直接进入第四个。 4 认识所有函数并使用 所有的函数一共有execl execlp execle execv execvp execvpe不难发现拿命令行参数进行举例的话选项一共有l p e v。 由参数我们可以看到有pathname 和file我们第一个使用的pathname即路径名我们要从哪里执行程序得通过该路径告诉它file同理就是文件名那么对于execl代表的就是列表也就是在命令行中我们如何执行在该函数里面就怎么书写即可。 拿这个举例 execl(/usr/bin/ls,ls.-l,NULL); 因为有l所以我们要将平常执行ls命令的时候如何执行的给列出来这个参数不是固定所以我们可以执行很多ls -l -a -n都是可以的但是注意点是最后的参数一定要是NULL代表结束。 第二个函数 execv这里面的v代表的是vectorC中的顺序表所以我们看execv的参数是[]也就是我们应该这样干 int main() {char* const argv[] {(char*)ls,(char*)-l,(char*)-a,(char*)--color,NULL};execv(/usr/bin/ls, argv);return 0; } 但是注意点是最后结尾的仍然要是NULL这里的强转char*不是很必要看自己的版本是否会进行报错吧。 对于execvp p代表的是PATH也就是环境变量用户可以不用传对应的路径但是要传对应的文件就像 int main() {char* const argv[] {(char*)ls,(char*)-l,(char*)-a,(char*)--color,NULL};//execv(/usr/bin/ls, argv);execvp(ls,argv);return 0; } 那么现在关于execlp就应该不用介绍了吧llist出来命令行怎么写的即可p我们传对应的文件名即可。 现在还没介绍的就只有e了e多好理解environment环境变量嘛不就是当然了因为父进程本身就有环境变量子进程哪里用得着担心我没有环境变量啥的根本不担心 使用这里就不介绍了同理即可。 本文是非常粗略的介绍了一下进程程序替换很多细节没有介绍到博主会在后面全部重新翻新的 感谢阅读
http://www.hkea.cn/news/14300424/

相关文章:

  • 宁波网站建设服务报价0基础做电商从何下手
  • 英文网站标题国内工业设计网站
  • 查找网站域名现在都用什么网站找事做
  • Python做网站难不难免费建网站可信吗
  • 重庆手机网站推广价格建立一个网站需要什么技术
  • 北京南站停车场收费标准百度广告收费
  • 企业网站建设费计入什么科目it企业网站模板下载
  • 网站建设工作室制作平台建立网上商城应考虑哪些问题
  • 找论文的免费网站网站建设职能绩效目标
  • 外贸流程是什么如何优化推广网站
  • 漂亮的网站是什么建设出来的湖州公司网站建设公司
  • 陕西省住房和建设厅网站wordpress 导出数据库
  • 化妆网站建设的目的企业网站优化服务
  • 巫山那家做网站东莞网站建设推广公司
  • 制作网站首页分为哪几部分提供坪山网站建设
  • 网站后台用什么做手机端尺寸
  • 筑巢网站后台管理系统引流软件有哪些
  • 网站建设设计图图片wordpress 抓取微信
  • 丽水市建设监理协会网站在哪里怎样做网站个人简介
  • 如何建立一个视频网站凡科建设网站步骤
  • 自学网站开发难吗个人怎么开通微信小程序
  • 夜间正能量网站网站为什么吸引人
  • 合格的网站设计师需要会什么软件建筑人才网app下载
  • 美食网站建设的背景网站建设费用什么意思
  • 动漫做a视频网站有哪些wordpress无广告视频
  • 博客网站开发教程软件开发合同模板范本1
  • 前后端分离企业网站源码少儿编程课
  • 完全自定义纯代码打造你的wordpress站点侧边栏福州鼓楼区建设局网站
  • 网站站点是什么?如何创建站点?外贸网站分析
  • 合肥网站建设过程固原网站制作