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

刘强东当年做网站读的什么书省级示范校建设专题网站

刘强东当年做网站读的什么书,省级示范校建设专题网站,人力资源公司怎么找客户,义乌网站备案在这篇文章中我介绍了关于tcp网络套接字#xff0c;关于网络套接字编程的问题我会再次讲述一点东西#xff0c;然后介绍关于守护进程的知识。 1. 关于网络套接字编程的一些问题 在进行套接字编程时我们一定是得先有套接字#xff0c;并且我们在使用socket的一些接口时关于网络套接字编程的问题我会再次讲述一点东西然后介绍关于守护进程的知识。 1. 关于网络套接字编程的一些问题 在进行套接字编程时我们一定是得先有套接字并且我们在使用socket的一些接口时通常需要将套接字转化为网络序列 但是我们在进行网络数据的传输的时候例如在tcp协议下我们使用的接口是read/write那么为什么不需要把通过这些IO接口获取到的数据也进行转化为网络序列或者本地序列呢这是因为关于网络IO的这些接口内部就已经做了网络序列和本地序列的转化了。 还有一点我的前几篇关于网络博客中提到过udp协议是面向数据报的tcp协议是面向字节流的这一点该如何进行简单的体会呢 我们在使用udp协议进行网络IO时使用的接口是sendto/recvfrom它的特点是我们在使用sendto发送数据之后必须得等对面使用recvfrom接收之后我们才能继续使用sendto发消息我们能明显地感觉到数据和数据之间是有边界的。 但是在tcp协议中我们发现我们的客户端可以向socket文件中进行多次写入而服务端可以一下子就把这一堆数据给读走了这就好像你拿容器接水流一样你并不知道即将到来的水流有多少但是你可以停住它们不读取你用碗接它就是一碗水你用杯子接它就是一杯子水数据与数据见没有明显的边界读端读的次数是和写端写的次数是无关的这就是面向字节流的简单理解。 2. 守护进程 a. 守护进程的引入 我在上面链接的关于tcp网络套接字编程的文章中介绍了一个在网络中提供简单服务的服务端程序在现实生活中我们的服务器这里就指服务程序是部署在Linux上的并且一直运行永不退出但是在我写的那份代码中我们的服务端程序是从命令行启动的这就会导致当我们用户退出之后用户对应的终端也就关闭了与之对应的里面的进程也都关闭了这显然不符合一款服务器的特点那么为了我们的程序在运行起来之后能够保证不受用户的退出影响的话我们就要把我们跑起来的服务程序变成守护进程。 b. 进程组、作业、会话 在正式认识守护进程前我们首先要认识一些其他名词进程组作业和会话。 我们在shell命令行中运行这样一个命令 然后再查看这个进程相关的信息我们可以看到进程id可以看到它的父进程的id这个父进程的id毫无疑问是bash命令行解释器。但是还有一些属性那就是PGID组IDSID会话ID也就是说我们的额进程关系中不仅有父子兄弟还有组的概念我们看到在我们运行的这个进程的进程属性中它的组ID是它自己也就是说这个进程是自称进程组的。而它的会话ID是它的父进程的ID也就是bash。说明这个进程是在这个bash所对应的会话中的。 我们再来运行一段程序 我们通过管道在命令行中一起运行了三个程序这三个进程的pid分别是44、45、46但是它们的组ID都是44这里我们就要提一点一起启动的进程共同构成一个进程组这个进程组中又以第一个启动的进程ID为它们的组ID。进程组是默认一定在一个会话中的那我们就得认识一下什么是会话。 会话是Linux上的一个独有的概念每次我们在登录Linux的时候操作系统都会给我们的登录用户提供一个终端和一个bash它俩负责给用户提供命令行解析工作而这个中端和bash共同构成一个会话而在当前会话命令行中启动的进程都是默认属于该会话内部的一个进程组 在一个会话中可以存在很多进程组但是只允许一个进程组在前台进行。 因为前台会占用终端资源和键盘资源在一个会话中这两个往往是只有一份的。 并且处在用户登录的会话中的所有进程组会随着用户的注销而退出。 而我们的服务器是永不退出的那么它就不应该受用户的登录和注销所影响所以我们需要将我们的服务进程变为守护进程。 c. 守护进程 话不多说我们直接来看可以将一个进程守护化的系统调用 它会创建出一个新的会话然后将这个进程置入到这个会话中并且自成进程组这样这个进程就不受用户的登录和注销所影响了但是我们看到它还有一个前提那就是被调用的这个进程不能成为进程组的组长这里的处理方式就是创建子进程让子进程执行后续的代码同时子进程调用这个系统调用而父进程直接退出这样调用该系统调用的进程就不是进程组的组长了。 这一点也是将一个进程守护化最重要的一步。 接下来我们来编写一个将进程守护化的代码 这就是将一个进程守护化的全部过程其中重定向的null文件是Linux中的一个字符设备文件它规定一切写入它的内容都会变成空的从它里面读取内容也是空的 我们也建议将守护进程的标准输入输出以及标准错误重定向到这个文件而不建议关闭它们。 当然系统中也提供了直接将进程守护化的系统调用 但是在大部分场景中关于守护进程需要忽略哪些信号等等操作是视情况而定的所以我们还是一般使用自定义的守护进程化的接口。 我们现在来试一下这个守护进程 我们看到该进程的父进程是操作系统并且自成进程组且与终端无关。这就是守护进程。 当我们退出shell之后再次登录 它仍然在运行。
http://www.zqtcl.cn/news/239808/

相关文章:

  • 为网站的特色功能设计各种模板温州网页模板建站
  • 广州微网站建设企业网站建设网站优化推广
  • 大连模板网建站项目网络的关键路径
  • 迅雷黄冈网站推广软件徐州模板自助建站
  • 怎么做不占CPU的网站修改wordpress的登陆地址
  • 网站制作毕业设计论文软件ui设计培训机构
  • 物业网站模板哪里建设网站
  • 达州城乡建设网站手机网站 方案
  • 平台兼职网站开发许昌做网站优化
  • 婴幼儿用品网站开发意义基因网站开发
  • 自己网站页面设计软件传奇世界游戏官网
  • 淘宝网网站开发部技术部三亚私人高清影院品牌加盟
  • 网站是用什么软件做的山西网络科技有限公司
  • 汕头网站建设开发做购物网站 营业范围是什么
  • 网站建设 企业短视频运营计划书
  • 网站仿静态网站城市分站织梦系统
  • 淄博网站建设高端企业最新商业资讯
  • 百度推广太原网站建设wordpress的页面和首页一样
  • 无为网站定制php网站 mysql数据库配置文件
  • 如何利用div做网站wordpress替换百度站内搜索
  • 大德通网站建设互动营销网站
  • 网站建设与管理实训主要内容响应式网站建设智能优化
  • 佛山市企业网站建设报价网站建
  • 广州网站营销推广设计孝义网站开发
  • 新站网站如何做Seo那个网站点击率高
  • 个体做外贸的网站罗浮视窗网站建设
  • 产品企业网站上海关键词排名优化公司
  • 网站APP推广东莞人才招聘网58
  • 惠州网站建设哪家好建筑网站建设方案
  • 淄博网站制作营销wordpress 轮播图自适应