タグ

daemonに関するshirokurostoneのブックマーク (2)

  • プログラムをdaemonにする。 - うなの日記

    rubyプログラムをdaemonとして実行する方法について。 deamon化の手順 deamon化の手順については「PC覚え書き-プログラムのデーモン化」の解説が詳しい。ポイントは次の通りです。 子プロセスの生成 fork関数を実行して子プロセスを生成し、親プロセスを終了させる。 これにより、プロセスはinitプロセスグループに属するプロセスになる。 次に行うsetsidは、プロセスグループリーダーで行うと失敗するので、この処理を行ってプロセスリーダーでない状態にしておく。 セッションの新規作成と割り当て Process.setsid関数を実行し、新規にセッションを開始して割り当てる。 子プロセスの再生成 fork関数を再度実行して、initプロセスグループに属するプロセスにする。 こうすると制御端末を設定することができなくなってよいらしい。 デバッグモード等で制御端末が必要な場合は実行し

    プログラムをdaemonにする。 - うなの日記
  • Ruby: daemon (Japanese)

    Ruby で daemon プロセスを setsid(2) のサポートが行なわれたときに記念に書いたものです。 現在は Ruby 1.9 系には Process#daemon があります。 これが標準で使えるようになるまでは daemon の作成に Process#setsid を使いましょう。 ruby-1.1b9_29 から setsid(2) がサポートされました(現在 1.8.6 がリリースされています)。 これで手軽に daemon プロセスがつくれます。 スクリプト言語ですが、手軽にちょっとしたサービスを実施できるようになるのはうれしいですね。 ここでの話は UNIX 系の OS が前提になりますが、POSIX の setsid をサポートしている場合には、同じことが可能かも。 また、考え方自身は C でプログラムをつくるときなどと共通です。 ただし、Ruby で実現するの

  • 1