Linux Working With Unix Processes for Rubyist

hooopo · May 16, 2013 · Last by watsy0007 replied at May 27, 2015 · 8500 hits
Topic has been selected as the excellent topic by the admin.

最近在读了 Jesse Storimer 的 Working With Unix Processes,感觉非常有趣。

这本书的中文介绍:

“《理解 Unix 进程》让我意识到 Unix 编程是多么简单而强大,而我对 Unix 编程的了解又是何其之少!在下一个版本的 Thin 的设计中,这本书无疑会对我有很大的启发。” ——Marc-André Cournoyer,创建了 Thin Web 服务器

“《理解 Unix 进程》这本书填补了当今许多开发人员的空白。掌握 Unix 的基本原理无需编写 C 代码。本书就说明了这一点。”

——David Bryant Copeland,著有 Build Awesome Command-Line Applications in Ruby

《理解 Unix 进程》教你如何游刃有余地利用系统编程技术。如果你是 Web 开发人员,你或许对 Unix 系统的基本原理知之甚少。本书可填补这一知识空白。本书将使读者利用数十年来久经考验的最优化技术,同时还将学到一些功能强大的小技巧,并学会自主编写并调试的高效服务器。 本书适合 Unix 程序员、Web 开发人员阅读。 本书所述概念和技术都十分实用,读者可据此编写出新软件,理解现有的复杂软件,甚至提升自我的职业生涯高度。本书的重点内容如下:

  1. 文件描述符及其运作机制
  2. 何时才需要守护进程
  3. 如何用 fork(2) 创建新进程
  4. 退出进程的 4 种不同的方式
  5. 对于生成 shell 命令的实际考量以及如何避免这种情况
  6. 从高级层面上讨论了创建进程所带来的开销及陷阱
  7. Resque 和 Unicorn 的内部工作原理 作者:Jesse Storimer,高级软件工程师与自出版作家,服务于美国电子商务方案提供商 Shopify。痴迷于编程,编程之余喜欢阅读、园艺以及徒步旅行等户外运动。

译者:门佳,UNIX/Linux shell、Perl、正则表达式爱好者。在 2001 年接触 Linux 后很快喜欢上该系统。对 UNIX/Linux 系统管理、Linux 内核、Web 技术研究颇多。工作之余,还喜欢探讨心理学,热衷出没于豆瓣和知乎。除此书外,他还译有《Linux Shell 脚本攻略》。

主要是讲用 Ruby 做 Unix 系统编程的,如果已经有 Unix 系统编程经验了的话可能觉得非常基础,但对于我这样非科班并且主要从事 web 开发的还是收获不少。

作为 Ruby 开发者,对理解多进程 server/worker/monitor 的运作原理以及优缺点有很大帮助。

比如,作者介绍 Resque 使用 fork + exit 来扬长避短,每个 job 过来之后 Resque fork 出一个新的进程来处理 job,处理结束后这个进程就退出,这样做来回避 Ruby GC 低效问题,用系统自身来清理内存,保持 Resque 的内存在一定范围内。

还有 Unicorn 的 preforking 机制如何比 mongrel 在启动速度快和占用内存少的。以及面临什么问题。当然还有优雅重启和日志切换这些有趣的话题。

顺便八卦一下,unicorn 的 gemspec 里 project 名还是 mongrel,邮件列表也是 mongrel-unicron: https://github.com/defunkt/unicorn/blob/master/unicorn.gemspec#L22-L29

相关资源:

看了帖子,立刻跑豆瓣搜,竟然有中文版: http://book.douban.com/subject/24298701/

等中文版 epub 格式电子书。

买了一本中文版后,发现有英文版的下载了..

话说实体书版也快上市了

ppurl.com,你们懂的~

另外两本 Working With TCP Sockets 和 Working With Ruby Threads 也不错,不过中文版和英文版的定价还真的差挺多的。。

@hooopo 的学习能力真强大啊。

Very Great!正想好好学习 UNIX

128 页,应该可以看完

#4 楼 @jasl 实体书已经上市了吧。京东有买的。 我刚买的图灵的电子版

#10 楼 @lvjian700 那我也收本实体书收藏去...还是喜欢实体书,拿着有重量,还有股书香 ps.就是不好保存,前阵子家里热水管爆了,泡了我好几百的书 - -

《Working With Unix Processes》和《Working With TCP Sockets》这两本书我在 Teahour 的某一期中推荐过,嘻嘻。

英文版看起来挺不错的,不需要中文版

目测没什么要看的

感觉这些知识不可能超过 APUE 的范围

为什么我老实感觉@hooopo 每天都不好好工作,各种四处看捏……

#20 楼 @zgm 而且是个 NB 的待业青年呀

马上购了图灵电子版 是本好书

#16 楼 @hooopo 大神就不会失业了

Working With Ruby Threads 出来了吗?

攒的书太多了,还没读到这本 😓

#24 楼 @xwf286 好像没有吧

#24 楼 @xwf286 已经出来一段时间了。

April 11, 2013 - First public release.

好书。

买了电子书了!

每天上来总有些新发现 呵呵!

读完电子书 我又买了本实体书收藏...不知道另外两本有没有出版计划

mark 了,下班回去入个电子书看看

图灵社区花十几块钱买了个中文版,一个小时看完了。很适合会 ruby 的深入学习理解 *NIX 进程。推荐!

不错,可以买本来看

You need to Sign in before reply, if you don't have an account, please Sign up first.