理解Unix进程

出版社:人民邮电出版社
出版日期:2013-6
ISBN:9787115316899
作者:Jesse Storimer
页数:116页

章节摘录

版权页:   11.3使用block 在上面的例子中,我们使用if/else结构演示了fork的用法。其实也可以通过block来使用fork,这种方法在Ruby中更常见。 如果你将一个block传递给fork方法,那么这个block将在新的子进程中执行,而父进程则会跳过block中的内容。子进程执行完block之后就会退出,它并不会像父进程那样执行随后的代码。 fork do #此处的代码仅在子进程中执行 end #此处的代码仅在父进程中执行 11.4实践领域 请参看附录或Spyglass项目来学习fork(2)的实践用法。 11.5系统调用 Ruby的Kernel#fork对应于fork(2)。 第12章 孤儿进程 12.1 失控 在运行上一章中的例程时你可能就已经注意到了,如果涉及子进程,就不能再像我们已经习惯的那样从终端来控制一切。 当通过终端启动单个进程时,通常只有这个进程向STDOUT写入,从键盘获取输入或是侦听Ctrl—C以待退出。 一旦进程衍生出了子进程,这一切就变得不那么简单了。如果你按下Ctrl—C,哪一个进程应该退出?是全部退出还是只有父进程退出?了解这些问题还是有好处的,因为实际上很容易创建孤儿进程。 fork do 5.times do sleep 1 puts”I’m an orphan!” end end abort“Parent process died…” 如果从终端运行这个程序,你会注意到父进程结束后,立刻返回到终端命令提示符下,此时终端被子进程输出到STDOUT的内容所重写!在进行进程衍生的时候,就会发生这些莫名其妙的事。 12.2弃子 当父进程结束之后,子进程会怎样? 简短的回答就是“安然无恙”。也就是说,操作系统并不会对子进程区别对待。因此父进程结束后,子进程照常继续运行。父进程可不会带着子进程同归于尽。 12.3管理孤儿 那么还能够对孤儿进程进行管理吗? 对于这个问题我们接触得有点早了,不过这涉及两个有意思的概念。第一个是守护进程。守护进程是一种长期运行的进程,为了能够一直保持运行,它们有意作为孤儿进程存在。在后面我们会对其进行详述。另一个是与脱离终端会话的进程进行通信。你可以使用Unix信号来做到这一点。同样我们会在随后的章节中详述。 接下来我们很快就会讲述如何正确管理和控制子进程。

名人推荐

“《理解Unix进程》让我意识到Unix编程是多么简单而强大,而我对Unix编程的了解又是何其之少!在下一个版本的Thin的设计中,这本书无疑会对我有很大的启发。”                       ——Marc-André Cournoyer,创建了Thin Web服务器“《理解Unix进程》这本书填补了当今许多开发人员的空白。掌握Unix的基本原理无需编写C代码。本书就说明了这一点。”      ——David Bryant Copeland,著有Build Awesome Command-Line Applications in Ruby

内容概要

Jesse Storimer 高级软件工程师与自出版作家,服务于美国电子商务方案提供商Shopify。痴迷于编程,编程之余喜欢阅读、园艺以及徒步旅行等户外运动。除了经常写技术博客文章外,他还著有Working with TCP Sockets, Working with Ruby Threads两本颇有影响力的电子书。

书籍目录

致谢
第1章 引言
第2章 基础知识
第3章 进程皆有标识
第4章 进程皆有父
第5章 进程皆有文件描述符
第6章 进程皆有资源限制
第7章 进程皆有环境
第8章 进程皆有参数
第9章 进程皆有名
第10章 进程皆有退出码
第11章 进程皆可衍生
第12章 孤儿进程
第13章 友好的进程
第14章 进程可待
第15章 僵尸进程
第16章 进程皆可获得信号
第17章 进程皆可互通
第18章 守护进程
第19章 生成终端进程
第20章 尾声
附录A Resque如何管理进程
附录B Unicorn如何收割工作进程
附录C preforking服务器
附录D Spyglass

编辑推荐

《理解Unix进程》是唯一一本针对Web开发人员的Unix编程书籍,让你无需借助C语言即可玩转Unix进程,教给你如何自主编写并调试高效服务器。教你游刃有余的利用系统编程技术,许多WEB开发人员或者对UNIX系统的基本原理知之甚少,理解unix进程可弥补这方面的缺憾,帮你从底层了解unix系统的进程机制。

作者简介

《理解Unix进程》从Unix编程的基础概念着手,采用循序渐进的方法,详细介绍了Unix进程的内部工作原理。《理解Unix进程》提供的许多简单而强大的技术,能够帮助Web开发人员深入了解Unix系统的并发性、守护进程、生成进程(spawning process)与信号等。同时,读者也可以使用这些技术和方法编写并调试自己的服务器。此外,《理解Unix进程》附录部分也涉及了一些流行的Ruby项目,让读者进一步了解如何巧妙运用Unix进程。
  《理解Unix进程》适合Unix程序员、Web开发人员阅读。


 理解Unix进程下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计2条)

  •     在图灵买的电子版,刚买了然后去看购买评论,有点小后悔,因为里面的例程都是使用ruby写的,而我不会ruby。看过APUE,借着python和shell基础猜了下里面程序的大致结构。看起来很快,就是吃饭时或者睡觉前用kindle看一会儿,都是零碎时间。整体感觉就是对unix进程的一个浅浅的总结,但是总结的还算全面,尤其那些甚是笃定的每个章节标题,记忆毫无负担,看看标题就能回忆这本书的大体内容了。不贵,买个电子书看着玩儿呗,还能学点东西。说实话,我其实就是被目录中每个章节的标题吸引了买这本书,我也觉得这本书的标题起得相当到位!最后吐槽下,为毛图灵社区的电子书不出kindle版,就弄个PDF格式,用电脑看PDF体验很差的,而且我个人很不喜欢这样,你说我去哪找个盗版不能用电脑看啊,当然我有节操不去找。自己转换的话很多格式会丢失,目录也失效。你们提供个kindle版,应该不费劲吧?如果你们嫌费劲,在豆瓣阅读卖也行啊,他们可以提供kindle版。
  •     书名《理解unix进程》这本小册子,作者使用ruby来进行说明,irb立马可以实验,回家在七大姑八大姨的关切中看完了。进程名称的修改导致ps查询可以不同的东西fork方式 当年的经典问题 如何让if else里面的两个逻辑都执行的宁一种解法 if fork puts “fork if”else “child fork if" jdk6的fork/join框架,不过这是线程级别。父子进程与孤儿进程相关:失控时父进程推出,子进程继续写标准输出,导致问题 弃子 父集成不带子进程同归于尽(fire and forget的弃子模式,子进程异步处理其他事务)守护进程周边概念:守护进程都知道,但底层创建一个守护集成是需要理解进程组与会话组 进程组:管理父子进程,弃子模式在终端ctrl+c实效,这是由于进程组接受信号转发给每个进程组成员 会话组在非终端终结所有非进程组的命令进程概念 僵尸进程是什么,如何避免 任何结束的进程,如果它的状态未被读取,就是僵尸进程,它在消耗内核资源。 父进程在弃子模式下如何进程内存模型 cow的copy-on-write模式,父子共享内存,如果一个修改,则进程复制进程通信 不依赖网络与文件,退出码 信号通信,捕获内核发出的,但是数量上不可靠 单向管道通信,管道本身是一种资源,利用资源描述符可以父子进程共享 当然还有其他sock方式mq等

精彩短评 (总计50条)

  •     早上在多看花了18块买了,今晚就看完了,真是短小精悍阿。总的内容之前都理解,作者用比较小的篇幅说清楚问题,思路还算挺赞,就是电子书本身略贵。
  •     浅入浅出
  •     简介明了 概念清晰
  •     用 Ruby 代码来解释 Unix 进程的工作原理,比用 C 精简多了,值得 Unix 新手用户一看。
  •     好短的一本Unix进程入门书
  •     用ruby来讲解,比较简短, 如果换成C,效果可能好些,入门级看看还行
  •     本书读者为web开发人员,并想要了解Unit进程的,并不适合C服务器开发人员。
  •     好书
  •     通俗易懂,Ruby零基础。
  •     读的英文版 短小精悍
  •     什么鬼,,。。。。(orZ多看免费三天下的。。
  •     Yet another overview book…
  •     这是补课的书吧,花一个小时就翻完了,挺不错。
  •     简短的入门读物,例子用的ruby
  •     是本入门好书
  •     應該叫《初步了解 Unix 進程》
  •     内容聚焦有内涵有收获,讲解完整有外延可思考,有原理有程序(用的是Ruby)。不错,合我胃口!
  •     好书,深入浅出。不过看的比较匆忙,没精读
  •     虽然没看太明白(貌似是翻译的问题,还有是Ruby的问题吧),但是还不错的书,起码比APUE要小得多,恩,不过看过之后就有动力看看APUE了
  •     Ruby这么有用?
  •     书里例子是用ruby写的,内容虽然不深,但总结得还算全面,快速了解一下无妨
  •     作者言简意赅的描述了对进程应该掌握的部分,文中的精髓在于附录中的三个示例,是对前文的一个概括。 值得一读,为读者打开了一扇了解进程模型的大门,不要care示例中的ruby语言,专心于os一级的进程,有所获!
  •     匆匆翻阅,可以说是用ruby来理解unix进程。
  •     内容不错,翻译较差。
  •     用ruby来一步步理解unix进程的好书,侧重于实践的书。
  •     看过APUE或者别的Unix/Linux的书,就不用看着本了
  •     为啥代码要用Ruby写啊!
  •     ……
  •     书本身还可以,但是比较基础,能让我爽一下的也就18章。另外书太过于短小,不到就半天看完,不够爽。推荐直接Kindle电子版,没必要实体书。
  •     感觉就是 ruby学了还是有点好处的。
  •     作者话好多,不过介绍的概念也好多。因为我本来就是C/C++程序员,大部分概念都是很清楚的。在讲僵死进程的时候,前一章是将waitpid,然后顺理成章的提到会保存子进程状态,这里好自然,写的蛮好的。然后终端接收到信号,会杀死进程组所有进程,这个算是新知识。
  •     仅仅介绍了些基本概念,内容不是很多
  •     通俗易懂的讲解 UNIX 进程
  •     相当通俗易懂!
  •     短的像根金针菇。
  •     讲ruby的??名字有点虎啊,言简意赅吧,算是个入门级的介绍
  •     当成CSAPP课外读物,比之没有什么深入的内容,但细节更多一些,比如守护进程的实现,会话组等内容,另外能接触到进程相关具体应用,ruby 相关系统调用api,对ruby爱好者来说更值得一读。译名有点迷惑性实际上就是一本小册子,总共才150页,字体还很大,想想看能有多少内容。
  •     数写的比较浅显,作为科普技术书未尝不可。
  •     写的比较浅,都是一些应用级别的东西,没有从内核里分析进程及进程间通信的实现方式,只讲了该怎么用
  •     没有生搬概念,让我这样的小白读者对进程有了一些最基本的了解。
  •     用ruby讲的比较简单,很小的一本书适合随手翻阅
  •     生动有趣,浅显易懂,薄薄一本,进程相关知识入门首选。示例代码用Ruby写的,Ruby的易读性果然好,lol。
  •     两个小时读完的小书,介绍了一些常识,比较容易理解。
  •     只能用深入浅出来形容了,Ruby的多核支持还是不给力啊。
  •     年度推荐的技术书籍之一,深入浅出,介绍进程各种机制以及在web容器中的应用,还有一个专门的开源项目(web容器)来辅助学习,业界良心。 这一块知识在大学课程上教授的太浅,日常工作也不是必须,估计对很多web工程师都是知识盲点,但如果想了解web容器的原理,进行更深度的调优,先了解下这些挺有必要的,考虑到这本书的篇幅(200多页),又是了解这一块性价比最高的选择了。
  •     进程小书,其实还不如用 c 来讲解。。
  •     介绍 unix 进程知识,简洁实用.
  •     简短的 小书,却讲得很棒。
  •     作为linux高级编程的热身,是非常不错的。
  •     深入浅出,居然是用ruby写的,很惊喜。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024