1.1.8. config.json

ネイティブプロセス管理用の設定ファイルです。

${ICE_HOME}/navive/user配下のディレクトリにconfig.jsonファイルがあれば、そのファイルに指示された通り、ネイティブアプリケーションの起動を試みます。ネイティブアプリケーションのカレントディレクトリはconfig.jsonのあるディレクトリになります。config.jsonファイルの仕様は以下。

  • env: 環境変数をプロパティ形式で設定します。
    • env.LD_LIBRARY_PATH: LD_LIBRARY_PATH環境変数。これの後ろにnative_app.env.LD_LIBRARY_PATH_suffixで指定したものが付けられます。
  • command: 実行するコマンドを指定します。
  • args: 引数を配列で指定します。
  • respawn: プロセスを起動失敗、あるいはなんらかの原因で終了したときに再起動を試みる回数を指定します。
  • priority: 起動順序。0から9まで順番に起動します。同じpriorityの複数のアプリケーションは順不同。10を指定すると自動起動しない。
  • stderr: 標準エラーをファイル出力するか否か。”file”を指定するとカレントディレクトリに”strerr”というファイル名で出力します。”ignore”だと捨てます。既定値ignore
  • stdout: 標準出力をファイル出力するか否か。”file”を指定するとカレントディレクトリに”strout”というファイル名で出力します。”ignore”だと捨てます。既定値ignore
  • killSignal: Coreを正常終了するときに各プロセスに送るシグナルを指定。”SIGINT”, “SIGTERM”。”NONE”だとシグナルを送らない。既定値SIGINT
  • pid_file: trueだとカレントディレクトリにpidという名前でプロセスIDが書かれたファイルを作成。このファイルは正常終了時に削除されます。何らかの原因でCoreが異常終了しプロセスが残存した場合、pidファイルをも とに手動でプロセスを終了させます。既定値true。
  • uid: ネイティブプロセスの起動ユーザのUIDを指定。無指定の場合はrootで起動します。
  • gid: ネイティブプロセスの起動グループのGIDを指定。無指定の場合はrootで起動します。
  • wait_for_shutdown: trueの場合、Coreの停止処理中にこのアプリケーションの停止を待ち合わせます。
  • bind_in_startup: trueの場合、トポロジに記述しなくともCoreがアプリケーション名でnanomsgのソケットをbindします。