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

网站开发工具与使用平台永嘉做网站

网站开发工具与使用平台,永嘉做网站,网站开发实训心得800,在线ps免费版#x1f493;博主CSDN主页:麻辣韭菜-CSDN博客#x1f493;   ⏩专栏分类#xff1a;http://t.csdnimg.cn/G90eI⏪   #x1f69a;代码仓库:Linux: Linux日常代码练习#x1f69a;   #x1f339;关注我#x1faf5;带你学习更多Linux知识   #x1f51d;#x1f5… 博主CSDN主页:麻辣韭菜-CSDN博客   ⏩专栏分类http://t.csdnimg.cn/G90eI⏪   代码仓库:Linux: Linux日常代码练习   关注我带你学习更多Linux知识   目录 前言 一阻塞等待和非阻塞等待 替换原理   替换函数 函数解释 命名理解  前言 上篇等待函数里面还有一个参数option参数没有讲以前演示的fork创建子进程子进程继承父进程的代码执行一样的代码那如果子进程要执行其他的代码怎么办 一阻塞等待和非阻塞等待 上面的演示可以看出子进程在运行队列里父进程是没有执行的被OS放在了等待队列里也就是阻塞只有子进程退出的时候父进程接受到子进程的退出信号执行waitpid函数进行返回父进程是没有退出的waitpid/wait可以在目前的情况下让进程退出具有一定的顺序性将来可以让父进程进行更多的收尾工作。 从上面阻塞等待来看父进程在子进程运行期间什么事都没有干那加入我要让父进程干些其他事可以吗 当然可以。我们先了解下面的参数含义 pid_ t waitpid(pid_t pid, int *status, int options); 返回值 当正常返回的时候 waitpid 返回收集到的子进程的进程 ID 如果设置了选项 WNOHANG, 而调用中 waitpid 发现没有已退出的子进程可收集 , 则返回 0 如果调用中出错 , 则返回 -1, 这时 errno 会被设置成相应的值以指示错误所在 参数 pid Pid-1, 等待任一个子进程。与 wait 等效。 Pid0. 等待其进程 ID 与 pid 相等的子进程。 status: WIFEXITED(status): 若为正常终止子进程返回的状态则为真。查看进程是否是正常退出 WEXITSTATUS(status): 若 WIFEXITED 非零提取子进程退出码。查看进程的退出码 options: WNOHANG: 若 pid 指定的子进程没有结束则 waitpid() 函数返回 0 不予以等待。若正常结束则返回该子进 程的 ID 。 这里的WNOHANG其实也是个宏。运行下面这段代码 等待子进程父进程完成其他事。 子进程能不能不执行父进程继承下来代码当然可以请看下面 替换原理   用 fork 创建子进程后父子进程执行相同的程序 ( 但有可能执行不同的代码分支 ), 子进程往往要调用一种 exec 函数 以执行另一个程序。当进程调用一种 exec 函数时 , 该进程的用户空间代码和数据完全被新程序替换 , 从新程序的启动例程开始执行。调用exec 并不创建新进程 , 所以调用 exec 前后该进程的 id 并未改变。 替换函数 我们先来个简单的代码来认识替换函数。这里面6个函数只要掌握了一个其他的也就都会了。 int main() {printf(当前进程的开始代码!\n);execl(/usr/bin/ls, ls, -a, -l, NULL);exit(1);printf(当前进程的结束代码!\n);return 0; } 这里补充哈关于第二个 const char* arg 我们在命令行怎么执行命令的就怎么输不过是多加了  这个而已 。 第二个printf为什么不打印 execl是程序替换函数调用该函数成功之后会将当前进程的所有代码和数据都进行替换包括已经执行的和没有执行的 execl调用成功连自己都会被替换掉所以没有返回值。 函数解释 •这些函数如果调用成功则加载新的程序从启动代码开始执行 , 不再返回。 •如果调用出错则返回 -1 •所以 exec 函数只有出错的返回值而没有成功的返回值。 命名理解  这些函数原型看起来很容易混 , 但只要掌握了规律就很好记。 • l(list) : 表示参数采用列表 • v(vector) : 参数用数组 • p(path) : 有 p 自动搜索环境变量 PATH • e(env) : 表示自己维护环境变量 excev int main() {char *const _argv[NUM] {(char*)ls,(char*)-l,(char*)-a,NULL};printf(我要开始替换程序了\n);execv(/usr/bin/ls,_argv); exit(1);return 0;}可以看出execv和上面execl只有传参方式不一样。其他都一样。  execlp execlp就比execl多个p 而这个p就是传说之中的PATH-(环境变量)想想在Linux中为什么ls可以直接运行不加路径。那是因为ls这个进程继承了bash环境变量。 execle execle那又是什么 p是系统的e-(env) 我们自己维护的环境变量。  execvp 和execvpe  这两个前面看懂了下去自己可以试试。这里就不演示了。 总结exec调用带p不用加全路径带e需要自己组装环境变量。v以数组形式传参l以列表形式传参。 事实上 , 只有 execve 是真正的系统调用 , 其它五个函数最终都调用 execve, 所以 execve 在 man 手册 第 2 节 , 其它函数在man3手册第3节 下篇综合前面所有知识写一个迷你版的shell 关注我带你学习更多linux知识
http://www.hkea.cn/news/14375383/

相关文章:

  • 济南泰安网站建设公司设计制作一个企业类型网站
  • 免费试用网站源码抑郁症图片加时间生成器在线制作
  • 凡科网站后台登陆指数运算法则
  • 泉州建设工程招投标信息网衡阳seo优化首选
  • 若比邻跨境电商网站网站建设到运营需要多少钱
  • 做零食网站的首页模板网页浏览器缩写
  • 建设网站前需考虑哪些问题贵州住房建设厅网站
  • wordpress时间插件下载地址seo建站淘客
  • 选择网站建设公司凤凰网站ui专业设计
  • .net开发微信网站4s店网站建设
  • 哪些是企业网站wordpress 输出json
  • 网站开发tornadowordpress 记账
  • 做网站子页网站项目开发流程图
  • 江西华邦网站建设广州安全教育平台咨询电话
  • phpcms 后台修改修改网站备案号seo织梦网站建设步骤
  • 建设网站的好处广州开发区建设局网站黄埔
  • 网站建设问题表网页设计哪个培训机构好
  • 网站内容设计主要包括做珠宝首饰网站
  • dw做网站的导航栏咸宁做网站哪家好
  • 网站建设收费标准行情安卓盒子做网站
  • 网站色调阿里网站备案寄材料
  • 重庆专业做淘宝网站四级作文模板万能
  • 网站建站网站299266co找公司做网站要注意什么问题
  • 百度站内搜索提升关键词排名做网站免费模板怎么上传到空间
  • 怎么建网站免费的网站建设对于学校的重要性
  • 云平台网站建设工业信息部网站备案
  • 文创产品设计网站推荐天津企业如何建网站
  • 丰台成都网站建设cps网站建设
  • 艺客网站首页当今网站开发技术的现状
  • 网站建设品牌策wordpress做个游戏