内容へ移動
Mako Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
ja:python:daemon用スクリプト作成方法
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== PythonスクリプトのDaemon化 ====== PythonでDaemonとして動かすスクリプトを作成する場合の方法について。 ===== 前準備-python-daemonパッケージをインストール ===== スクリプトをDaemon化するにあたって、まず必要なパッケージ「**python-daemon**」を導入しておきます。 ==== Fedoraの場合 ==== Fedoraの場合は、はじめから必要なリポジトリが設定済みなので、次のコマンドを実行するだけでOKです。\\ コマンドはrootユーザーで実行します。\\ <code bash> # yum -y install python-daemon </code> ==== CentOS、Scientific Linuxの場合 ==== CentOS、Scientific Linuxの場合は、Fedoraとは違い、EPELリポジトリの有効化を行う必要があります。\\ まず、EPELリポジトリを追加する為に、リポジトリ登録用のRPMファイルをダウンロードします。\\ (CentOS6.x、Scientific Linux6.xの場合) * 32bit版の場合<code bash> # wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/i386/epel-release-6-8.noarch.rpm </code> * 64bit版の場合<code bash> # wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm </code> * ファイル名「epel-release-6-8.noarch.rpm」の8の部分は、EPEL側のバージョンアップによって増加する事があるので、注意する。 ダウンロードしたRPMファイルをインストールします。\\ <code bash> # rpm -ivh rprl-release-6-8.noarch.rpm </code> パッケージのインストールを行います。 <code bash> # yum -y install python-daemon </code> ==== Ubuntuの場合 ==== Ubuntuの場合は、次のコマンドを実行します。 <code bash> # apt-get -y install python-daemon </code> ===== スクリプトの書き方 ===== パッケージのインストールができたら、所定の書式にしたがってスクリプトを作成します。 <code python> #!/usr/bin/python from __future__ import with_statement from daemon import DaemonContext # Fedoraの場合 from daemon.pidfile import PIDLockFile # Fedora以外の場合 from daemon.pidlockfile import PIDLockFile dc = DaemonContext( pidfile=PIDLockFile('ロックファイルのフルパス'), stderr=open('エラー出力ファイルのパス', 'w+') ) with dc: # この部分に書いた処理がDaemon化される </code> ===== 補足事項 ===== DaemonContextのstderrに書いたエラー出力ファイルには、処理中のエラーで出力されるStackTraceなどが出力されるので、うまく動かなかったり、エラーで落ちてしまった場合などにはここを確認すると良い。
ja/python/daemon用スクリプト作成方法.txt
· 最終更新: 2014/12/04 01:21 by
makoto
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ