タグ

ブックマーク / www.void.in (3)

  • Python/Daemon - やる気向上作戦

    Python daemon fork()して親プロセスは終了。 setsid()で制御端末を切り離す。 fork()して親プロセスは終了。この時点で孫プロセスの親はinitになり、ゾンビを生じなくなる。 プロセスIDをファイルに書く。 ルートディレクトリにcdする。 umask(0)してファイル作成モードをリセットする。 stdin, stdout, stderrのファイル記述子を閉じる。 import os import sys   def daemonize(pidfile, daemonfunc, *args): try: pid = os.fork() if (pid > 0): sys.exit(0) except OSError: print >>sys.stderr, 'daemonize: fork #1 failed.' sys.exit(1)   try: os.se

    yuiseki
    yuiseki 2012/03/29
  • Python/Werkzeug - やる気向上作戦

    Werkzeugでウェブアプリケーションを作る Werkzeugって何? WSGIアプリケーションを構築するための便利なツールキット。いわゆるフレームワークではない。 作者はJinja(Djangoクローンのテンプレートエンジン)やPocoo(Python製ウェブフォーラムアプリケーション)と同一。 公式サイト http://werkzeug.pocoo.org/ 基構造 最小のアプリケーションは、 アプリケーションクラス URLマップ ビュー関数 ドライバ からなる。 app.py アプリケーションクラスを実装。 from werkzeug import Request, ClosingIterator from werkzeug.exceptions import HTTPException, InternalServerError   # URLマップをインポート from

  • Python/Class - やる気向上作戦

    事項 クラスを定義するには、 class ClassName(SuperClass): definition のように書く。 メソッドの定義 通常の関数と同様、defにより定義する。メソッドと関数の違いは、メソッドの第一引数が常にオブジェクト自身を指す参照として扱われることである。慣例として、メソッドの第一引数には「self」という名前をつける。 class ClassName: def methodName(self, arg1, arg2): definition メソッドのオーバーライド 同名のメソッドを定義するだけである。Pythonにおいて、すべてのメソッドはvirtualである。 特殊なメソッド コンストラクタ/デストラクタ コンストラクタ、デストラクタは、それぞれ__init__、__del__という既定の名前を持つメソッド。デストラクタが呼び出されるのは、GC

    yuiseki
    yuiseki 2009/08/03
  • 1