からman 5 init
:
仕事環境
各ジョブは、それを開始したイベントまたはコマンドからの環境で実行されます。さらに、デフォルトを
後でオーバーライドされ、そのジョブに対して生成されたイベントにエクスポートされる環境変数を指定するジョブ。
特別なUPSTART_EVENTS環境変数には、ジョブを開始したイベントのリストが含まれています。
ジョブは手動で開始されました。
さらに、事前停止および事後停止スクリプトは、ジョブを停止したイベントまたはコマンドの環境で実行されます。
UPSTART_STOP_EVENTS環境変数には、ジョブを停止したイベントのリストが含まれています。ジョブが
手動で停止されました。
すべてのジョブには、ジョブとインスタンスの名前を含むUPSTART_JOBおよびUPSTART_INSTANCE環境変数も含まれています。
これらは主にinitctl(8)ユーティリティによって使用され、コマンドの呼び出し元のジョブをデフォルトで実行します。
環境キー[=値]
デフォルトの環境変数を定義します。その値は、ジョブを開始するイベントまたはコマンドによってオーバーライドされる場合があります。
KEY = VALUEが指定されている場合、変数KEYには値VALUEが与えられます。「KEY」のみが指定されている場合、値が取得されます
init(8)デーモン自身の環境から。
キーをエクスポート
この環境変数の値を、starting(7)、started(7)、stopping(7)、stopped(7)の各イベントにエクスポートします。
ジョブおよび結果として生じるすべてのイベント(現在のジョブに関連するイベントだけでなく)。
さらに、grep env /etc/init/*
使用方法を確認するために行うことができます
これは私の出力です:
/etc/init/container-detect.conf:envコンテナー
/etc/init/container-detect.conf:env LIBVIRT_LXC_UUID
/etc/init/container-detect.conf:#は、initの環境で「コンテナー」を確認するためのものです。
/etc/init/container-detect.conf:[-d / proc / vz] && [!-d / proc / bc] && container = openvz
/etc/init/mounted-debugfs.conf:env MOUNTPOINT = / sys / kernel / debug
/etc/init/mounted-dev.conf:env MOUNTPOINT = / dev
/etc/init/mounted-proc.conf:env MOUNTPOINT = / proc
/etc/init/mounted-tmp.conf:env MOUNTPOINT = / tmp
/etc/init/munin-node.conf:env DAEMON = / usr / sbin / munin-node
/etc/init/mysql.conf:env HOME = / etc / mysql
/etc/init/nginx.conf:env DAEMON = / usr / local / nginx / sbin / nginx
/etc/init/nginx.conf:env PID = / usr / local / nginx / logs / nginx.pid
/etc/init/procps.conf:env UPSTART_EVENTS =
/etc/init/rc.conf:env INIT_VERBOSE
/etc/init/rc-sysinit.conf:env DEFAULT_RUNLEVEL = 2
/etc/init/rc-sysinit.conf:env RUNLEVEL =
/etc/init/rc-sysinit.conf:env PREVLEVEL =
/etc/init/rc-sysinit.conf:env INIT_VERBOSE
/etc/init/wait-for-state.conf:env TIMEOUT = 30
/etc/init/wait-for-state.conf:env MANUAL_OVERRIDE = "N"
/etc/init/wait-for-state.conf:env WAIT_FOREVER = "N"
/etc/init/wait-for-state.conf:env WAIT_STATE = "started"
/etc/init/wait-for-state.conf:env TARGET_GOAL = "start"
網羅的な例については、そのスクリプトのいくつかを参照してください。ここにnginx.conf:
#nginx
説明 "nginx httpデーモン"
著者「フィリップ・クローゼ」
開始(ファイルシステムおよびnet-device-up IFACE = lo)
ランレベルで停止[!2345]
env DAEMON = / usr / local / nginx / sbin / nginx
env PID = / usr / local / nginx / logs / nginx.pid
フォークを期待する
リスポーン
リスポーン制限10 5
#oom never
起動前スクリプト
$ DAEMON -t
もし[$?-ne 0]
次に$を終了しますか?
fi
終了スクリプト
exec $ DAEMON