- 2008年6月 7日 03:43
- 仕事のこと
envdir runs another program with environment modified according to files in a specified directory.
指定されたディレクトリ内にあるファイルに記述されたものを環境変数として使ってプログラムを動かすよ。
まずは、よくある run スクリプト。
/service/my_service/run#!/bin/sh exec setuidgid username /path/to/script 2>&1
これで実行している /path/to/script 内で ENV_FOO = foo, ENV_BAR = bar という環境変数を参照している場合。
/service/my_service/run#!/bin/sh exec setuidgid username envdir ./env /path/to/script 2>&1
今回の場合だと、「指定されたディレクトリ」というのが "./env" です。
なので、/service/my_service/env というディレクトリを作成し、そのディレクトリ内に設定したい環境変数名でファイルを作成し、そのファイルの中に設定したい環境変数の値を書き込みます。
/service/my_service/env/ENV_FOO(中身は foo)
/service/my_service/env/ENV_BAR(中身は bar)
また、ENV_FOO が空ファイルでかつ ENV_FOO が既に設定されている場合(別の場所で export とかしている場合)は ENV_FOO を環境変数から削除されます。ENV_FOO がそもそも環境変数にない場合は空ファイルを作成しても envdir は何もしません。(ENV_FOO = '' みたいなことにはならない)
Catalyst アプリの設定ファイルを読み込んで実行させるスクリプトを daemontools で起動させる場合は /service/my_app/evn/MYAPP_CONFIG_LOCAL_SUFFIX なんかを作成しておくといいよね、というしめ方をしてみる。
- Newer: 6月14日の音楽のこと
- Older: Mac OS X (Leopard) に LaTex 環境を構築
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- http://hibinokoto.jp/mt/mt-tb.cgi/276
- Listed below are links to weblogs that reference
- daemontools で環境変数の設定してスクリプトを起動 from 日々のこと