タグ

2014年3月21日のブックマーク (5件)

  • 親プロセスは2度死ぬ - デーモン化に使うダブルforkの謎 - シリコンの谷のゾンビ

    デーモンプロセスを作る場合には,教科書によく書かれている2度forkは不要ではないか? ということを以前の記事に書いた. [c][unix]UNIXネットワークプログラミングのお勉強 (2) デーモンの作り方 - 睡眠不足?! 確かにBSDのdaemon(3) のコードでは,forkは1回しか呼んでいない. 「きっとプレセスがセッションリーダだと不都合があるのだろう.でもなぜ?」 というのがopen questionだった. それに対する答えを「詳解UNIXプログラミング」[1] に見つけた. SVR4においては,この時点でforkを再度呼び,親を終了することを勧める人がいる. 2番目の子がデーモンとして動作する.これは,デーモンはセッションリーダではなく, SVR4の規則 (9.6節) から,セッションリーダでなければ制御端末を取得できない,ということを保証する. あるいは,制御端末を取

    親プロセスは2度死ぬ - デーモン化に使うダブルforkの謎 - シリコンの谷のゾンビ
  • なるほどUnixプロセス読んだ - デーモン化のためのdouble fork - はこべにっき ♨

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎を読みました。UNIXプロセスの話、特に実用的なforkの利用方法についての話がコンパクトにまとまっていてわかりやすかったです。あまり詳細に踏みこんでいるという感じではないけど、とっかかりにこのにあるような知識があるのは良いと思いました。(シェルスクリプトから"foreman start"したときにCtrl-Cで終了できない現象の解説 - はこべブログ ♨ではまる前に読んでおいたら、もっとはやく問題解決できたと思います。) 第18章 デーモンプロセスに関係して二回目のforkについていろいろ調べたので、せっかくなのでメモを残しておきます。*1 第18章 デーモンプロセス では、プロセスをデーモン化するために必要な手順が丁寧に説明されています。その中で、プロセスを制御端末から切り離す手順として以下のようなコードが紹介されていました。

    なるほどUnixプロセス読んだ - デーモン化のためのdouble fork - はこべにっき ♨
  • 不完全なデーモンプロセスに制御端末を割り当てる方法を教えてください UNIX のデーモンプロセスについて勉強しています。…

    不完全なデーモンプロセスに制御端末を割り当てる方法を教えてください UNIX のデーモンプロセスについて勉強しています。デーモンプロセスを作るには、 1. fork する (子プロセスを作って親は死ぬ) 2. setsid する (子プロセスを制御端末から切り離す) 3. もう一度 fork する (セッションリーダーではない孫プロセスを作って子は死ぬ) という手順を踏むのだと、後述のブログ記事等で知りました (chdir, umask, STDIN/STDOUT/STDERR などの取り扱いは、今回は注目しないので省略します) この 3. でやっている二度目の fork が必要な根拠として、セッションリーダーであるデーモンプロセス (1. で fork した子プロセス) に制御端末を割り当てられてしまうとまずいためだ、という理由が挙げられています (シグナルを送られてプロセスを操られてし

  • メモ:「不定期連載『なるほUnix』で学ぶWinRuby基礎」まとめ - つらつらぐさ

    [ 不定期連載「『なるほどUnixプロセス』で学ぶWindowsRubyの基礎」~はじめに  ~ 4章:丁稚な日々 ] [ 5章~7章 ] [ 8章~10章 ] [ 11章~15章 ] [ 16章 ] [ 17章 ] [ 18章 ] [ 19章~おわりに ] ということで usa さんの話題のアレをまとめておく。自分にはちんぷんかんぷんな部分も多いのだけれど、きっといつか多分わかる日もくるかもしれないし。 でも、総じて面白かったし、部分部分では「へえ~」と思いながら読めたので楽しかった。達人さんのの補遺にという声もあったし、どこかでまとまるとよいよね、とかも思いつつ。いつかの自分のためにもメモ、ということで。 家のこれをメモしないで、どうする。

    メモ:「不定期連載『なるほUnix』で学ぶWinRuby基礎」まとめ - つらつらぐさ
  • Read the Latest CI CD News

    Introduction Measuring and improving the productivity of DevOps teams has long been a major challenge. From purely technical metrics to more business-oriented ones, the choice of metrics often remains a… Among all the tools aimed at orchestrating containers, the two leading players are Docker Swarm and Kubernetes. Both provide solutions for container application management, as well as container ap

    Read the Latest CI CD News
    sonots
    sonots 2014/03/21
    travis.yml linter