タグ

daemonに関するuokadaのブックマーク (6)

  • Unixデーモンの仕組み - OTOBANK Engineering Blog

    おはこんばんちは!! 尾藤 a.k.a. BTO です。 みなさん、Unixデーモンよく使ってますよね。 Webエンジニアなら、Webサーバ、メールサーバ、DBサーバ、cronなどがよく使われるのではないでしょうか。 24時間365日黙々と働き続けるUnixデーモン達。 身近な存在だと思いますが、実はどういう仕組みで動いているのかご存じない方も多いのではないでしょうか。 先日、オトバンクでUnixデーモンの仕組みについて勉強会をやったので、その内容をまとめます。 デーモンとは では、デーモンとはいったい何なのでしょうか。 Unixライクシステムにおいて、バックグランドで動作して様々な処理を実行してくれるプロセスがデーモンです。 デーモンには明確な定義はありませんが、だいたい次のような条件を満たすプロセスがデーモンと呼ばれます。 バックグランドで動作している 制御端末を持たない 他のプロセス

    Unixデーモンの仕組み - OTOBANK Engineering Blog
  • 進撃のmalloc #kernelvm - by shigemk2

    2014-05-25 進撃のmalloc #kernelvm 勉強会 malloc - Wikipedia ガチャピン先生 進撃のmallocってなんだ gblicのmalloc近辺の開発にかかわる MM Summit Ruby core commiter(コミット率TOP10コミッタ) @kosaki55tea LKMLでのdisりあい 殴り合い [www.youtube.com/watch?v=cjaRZEtDTxc:embed] ebizzy | Free Development software downloads at SourceForge.net N個のスレッドがs病の間に何回malloc memcpy freeが出来るかを測定 カーネルでは時間をあまりってない mallocバグ知識 2行消したら20倍高速化 Linuxキーワード - glibc とは:ITpro 1スレッ

  • なるほどUnixプロセス読んだ - デーモン化のためのdouble fork - はこべにっき ♨

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

    なるほどUnixプロセス読んだ - デーモン化のためのdouble fork - はこべにっき ♨
  • pythonでデーモン化 | quvoxノート

    久々にBlog更新。 最近よくpython学習のがてら色々プログラムを書くようになってきた。 とりあえずデーモンとしてバックグラウンドで動かしたいので、forkしてSTDOUTやらを閉じて、signal設定して、、、とやろうかと思ったら、とても簡単なモジュールがあることが発覚した。以下のようにしてモジュールをインストールする。 # easy_install python-daemon 以下のように使えばいい。なお、DaemonContext()のように引数を何も渡さなければ、pidファイルもSTDERRも出力されない。また、pidfileは/tmpの下に作らないと動作しないみたい。 #!/usr/bin/python # -*- coding: utf-8 -*- # """DaemonContextのテスト""" from daemon import DaemonContext from

  • Pythonでpreforkサーバ - 偏った言語信者の垂れ流し

    Python2.6で試した。 preforkサーバはlistenした後にforkして、それからacceptすればよいみたい? server.py import os import sys import socket import signal child_processes = [] def main(host, port, children): signal.signal(signal.SIGTERM, accept_sigterm) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((host, port)) s.listen(1) # fork for i in range(children): pid = os.fork() if pid != 0: # parent sys.stdout.write('chi

    Pythonでpreforkサーバ - 偏った言語信者の垂れ流し
  • Pythonでprefork型のデーモンを書く - yoshifumi1975's diary

    Pythonのお勉強を兼ねて、先日 Cで書いた C言語でprefork型のデーモンを書く(3): デーモン化 - Sleepless geek in Seattle をPythonに移植してみた。 条件分岐、ループ、関数定義、ファイル操作、fork、wait、シグナルハンドラ、連想配列、などなど短いプログラムだけど、いろいろな要素が入っているのでなかなか良いサンプルになった。 #!/usr/bin/env python import os import sys import signal import time MAX_CHILDREN=16 PID_FILE='/var/run/my_prefork_daemon.pid' hash_children={} def main(): #デーモン化 daemonize() #プロセスIDを書いておく write_pid() #シグナルハンドラ

    Pythonでprefork型のデーモンを書く - yoshifumi1975's diary
  • 1