检查进程存在的5种方法

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/len_yue_mo_fu/article/details/83957417

检查进程存在的五种方法:

  1. 通过wait()函数来监控: 这种方法只适用于父子进程之间,父进程可以使用该函数对子进程进行监控
  2. 信号量和文件锁: 如果某个进程一直持有某个信号量或者文件锁,并且该文件锁或者信号量一直处于被监控状态,那么当可以获取到信号量和文件锁的时候说明该进程已经终止
  3. 进程间IPC通信机制: 可以通过进程间通信的某些机制来实现对某一个进程的监控,比如FIFO,可以给被监控进程管道的读端,当写端写入失败的时候,说明该进程也已经结束,还可以通过socket,让被监控进程和监控进程间建立socket,监控该socket的连接状态就可以知道被监控进程有没有退出
  4. 查看/prco/PID: 通过这种方式可以调用stat()等函数实现对进程的查看
  5. kill(pid,0): 通过向被监控进程发送sigid 为0的信号,若返回失败且errno为ESRCH说明该进程不存在

注意:4、5两种方法有可能存在一定的风险,因为linux系统会重用进程ID,当被监控进程终止后,linux进程可能重用该进程ID,所以监控的可能不是之前的进程

欢迎关注问我团队公众号:

在这里插入图片描述

展开阅读全文

检查存在

04-21

<p>rn <strong><span style="font-size:14px;">GraphQL 是什么 ?</span></strong> rn</p>rn<p>rn GraphQL是Facebook开源的一种用于 API 的查询语言,并有可能成为未来的API规范<strong>。</strong> rn</p>rn<p>rn <br />rn</p>rn<p>rn <strong><span style="font-size:14px;">哪些公司在使用GraphQL&nbsp; ?</span></strong> rn</p>rn<p>rn 越来越多主流的科技公司都开始拥抱GraphQL,比如facebook,twitter,Airbnb,github,reddit,Netflix,阿里,百度等等。rn</p>rn<p>rn <br />rn</p>rn<p>rn <strong><span style="font-size:14px;">为什么使用Prisma ?</span></strong> rn</p>rn<p>rn prisma是一个超越ORM的数据库工具,它可以让你快速开发GraphQL API,让你免去了大部分的工作,开发GraphQL服务器从未如此简单。rn</p>rn<p>rn <br />rn</p>rn<p>rn <strong><span style="font-size:14px;">我是否需要精通 后端语言 和 数据库 才能学习这门课程 ?</span></strong> rn</p>rn<p>rn 并不需要,甚至你可以在完全不懂任何后端语言和数据库的前提下掌握这门课程,并完成GraphQL服务器的开发。rn</p>rn<p>rn <br />rn</p>rn<p>rn <strong><span style="font-size:14px;">我可以使用什么开发语言 ?</span></strong> rn</p>rn<p>rn Prisma 支持4种开发语言,分别是 javascript ( nodejs后端 ),TypeScript,flow,Go。未来还会支持更多的语言。rn</p>rn<p>rn <br />rn</p>rn<p>rn <strong><span style="font-size:14px;">成为优秀全栈工程师的机遇 ?</span></strong> rn</p>rn<p>rn GraphQL并不复杂,通过学习本门课程你便可以开发GraphQL 后端服务器,并且学会在前端调用GraphQL API。rn</p>rn<p>rn 如果你是前端工程师,那么学习完本课程,你将能成为一名全栈开发者。rn</p>rn<p>rn 如果你是后端工程师,那么学习完本课程,再稍加学习些前端基础知识,便能成为全栈开发者。rn</p>rn<p>rn 如果你是 ios/安卓 工程师,那么学习完本课程,你便能成为移动端的全栈开发者。rn</p>rn<p>rn <span>如果你是网页/UI设计师,那么稍加学习javascript,再学习完本课程,你也能有机会成为全栈开发者。</span> rn</p>rn<p>rn <br />rn</p>rn<p>rn <strong><span style="font-size:14px;">开发GraphQL应用是否很难 ?</span></strong> rn</p>rn<p>rn 刚好相反,觉得难是因为你对它还不了解。实际上它很简单,很前沿,也很强大。rn</p>rn<p>rn <br />rn</p>rn<p>rn <img alt="" src="https://img-bss.csdn.net/201904170632564341.png" /> rn</p>rn<p>rn <img alt="" src="https://img-bss.csdn.net/201904170633112158.png" /> rn</p>rn<p>rn <img alt="" src="https://img-bss.csdn.net/201904170633325916.png" /> rn</p>rn<p>rn <img alt="" src="https://img-bss.csdn.net/201904170633504420.png" /> rn</p>rn<p>rn <img alt="" src="https://img-bss.csdn.net/201904170634041709.png" /> rn</p>

没有更多推荐了,返回首页