0

最初に基本的な質問、コンテキストの下に:

注: Cloud9 の独自のロールアウトではなく、有料の cloud9 サービスである c9.io を使用しています。

cloud9で実行中にnodejsの「process.env.PORT」から返されるポートを取得しようとしています。これは、ポート番号を直接指定する代わりに、cloud9 で nodejs アプリケーションを実行する方法です。

ただし、さまざまな理由で fileserver.js コードを変更したくありません。ただし、fileserver.js を呼び出すコマンド ラインで引数としてポートを指定するオプションがあります。

それで、bashスクリプト内からnodejsアプリでprocess.env.PORTが返すのと同じポートを取得するにはどうすればよいですか?

注意してください、私はすでに $PORT を試しました - これは 8080 を返します (正しくありません)。

環境:

cloud9 内から琥珀色の smalltalk FileServer を実行しようとしています。FileServer.js ファイルの変更は、amber smalltalk git リポジトリで変更されるたびに行う必要があるため、おそらく洗練されたソリューションではありません。

4

1 に答える 1

0

$PORT はPORT、現在のシェル環境からの変数を提供します。プロセスによって異なる場合があります。起動したサーバーの環境から変数を取得するには、その pid を知っている必要があります。その後、実行できます

cat /proc/pid/environ
//or more readable
xargs --null --max-args=1 echo < /proc/pid/environ

pidサーバー プロセスの pid の値に置き換えます。その後、上記から PORT 変数を抽出できます。

于 2013-06-14T16:46:24.897 に答える