0

/etc/init.d/[appname]スクリプトを作成し、次のようなものを使用して実行することで、EC2アプリをサービスとして実行し始めました。

service [appname] start | stop | restart

ただし、これを行う場合、アプリは環境変数にアクセスできません。プロセスをサービスアクセス環境変数として開始するにはどうすればよいですか?または、逆に、サービスとして実行されているプロセスからアクセスできるように環境変数を設定するにはどうすればよいですか?具体的には、これらの変数を使用して、実行している環境を把握しています...これは知っておくと便利です...

4

1 に答える 1

1

プログラムは、environ変数、またはより一般的にはgetenv(3)ライブラリ関数を使用して環境変数にアクセスできます。

/ procファイルシステムを使用して、特にスルーでプロセス1234の環境をクエリできます/proc/1234/environ(エントリはnullで終了することに注意してください。したがって、マニュアルページを読んでください)。

の開始スクリプトは多くの場合シェルスクリプトであるため、これらのスクリプト内に環境変数を設定/etc/init.d/できます。(スクリプト自体の内部、またはそのinitスクリプトからそれを実行するファイルにその行を追加する必要があります)。export FOO=varFOOvarexportsource

この質問も参照してください。

于 2013-02-14T23:05:01.037 に答える