首先是基本问题,在上下文下面:
注意:我使用的是c9.io,这是付费的cloud9服务,而不是我自己推出的cloud9。
我正在尝试获取在cloud9上运行时从nodejs中的"process.env.PORT“返回的端口。这是在cloud9上运行nodejs应用程序的方式,而不是直接指定端口号。
但是,由于各种原因,我不想修改我的fileserver.js代码。但是,我可以选择将端口指定为调用fileserver.js的命令行上的参数。
那么,如何从bash脚本中获取process.env.PORT在nodejs应用程序中返回的相同端口呢?
注意,我已经尝试过$PORT -它返回8080 (不正确)。
上下文:
我正在尝试从cloud9内部运行一个琥珀smalltalk FileServer。修改FileServer.js文件可能不是一个优雅的解决方案,因为每次在amber smalltalk git存储库中更改它时,我都必须这样做。
发布于 2013-06-15 00:46:25
$PORT为您提供了来自当前shell环境的变量PORT。这个过程可能会有所不同。要从启动的服务器环境中获取变量,您必须知道它的pid。然后你就可以运行
cat /proc/pid/environ
//or more readable
xargs --null --max-args=1 echo < /proc/pid/environ用服务器进程的pid值替换pid。然后,您可以从上面提取PORT变量。
https://stackoverflow.com/questions/17109246
复制相似问题