bashrc
upstartスクリプトで変数をロードして実行する方法(node.js
この場合はサーバー)を知りたいです。
最良のアプローチは何ですか?
私はこれを試しました:
exec sudo -u someuser $NODE_PATH $FULL_PATH/$FILE_NAME >> /var/log/$PROGRAM_NAME.sys.log 2>&1
この
exec start-stop-daemon --start -c someuser --exec $NODE_PATH $FULL_PATH/$FILE_NAME >> /var/log/$PROGRAM_NAME.sys.log 2>&1
ただし、最初のオプションでは、ノードアプリケーションはhttp_proxy
変数(で定義されている/etc/bash.bashrc
)を読み取ることができません。 2番目の設定ファイルは読み取れません(その/opt
フォルダにノードアプリケーションがインストールされています)。
ベストアンサー1
/etc/bash.bashrc
対話型シェルの起動時に読み込まれます。ここでは、完了設定、プロンプトなどのインタラクティブな使用のための設定があります。そこに環境変数を設定しないでください。バラよりすべてのシェルが読める「.bashrc」に対応するファイルはありますか?システム全体の環境変数に最適な場所は次のとおりです。/etc/environment
と/etc/profile
(とのファイル/etc/profile.d
)。
ノーマルUpstartの環境変数の設定方法作業ファイル自体にあります。 Upstartでは読み取れませんが、/etc/environment
ジョブスクリプトのファイルから環境変数をロードできます。
script
. /etc/environment
exec start-stop-daemon …
end script