如何从cloud9的bash脚本获取process.env.PORT?

时间:2013-06-14 13:08:33

标签: node.js bash smalltalk

首先是基本问题,在上下文之下:

注意:我使用的是付费的cloud9服务c9.io,而不是我自己推出的cloud9。

我正在尝试获取在cloud9上运行时将从nodejs中的“process.env.PORT”返回的端口。这是您在cloud9上运行nodejs应用程序而不是直接指定端口号的方式。

但是,出于各种原因,我不想修改我的fileserver.js代码。但是我可以选择在命令行上指定一个端口作为参数来调用fileserver.js。

那么 - 如何获得process.env.PORT在bash脚本中从nodejs应用程序返回的相同端口?

注意,我已经尝试过$ PORT - 返回8080(不正确)。

背景:

我正在尝试从cloud9中运行一个琥珀色的smalltalk FileServer。修改FileServer.js文件可能不是一个优雅的解决方案,因为每次在amber smalltalk git存储库中更改它时我都必须这样做。

1 个答案:

答案 0 :(得分:0)

$ PORT为您提供当前shell环境中的变量PORT。这个过程可能会有所不同。 要从启动的服务器环境中获取变量,您必须知道它的pid。然后你可以运行

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

pid替换为服务器进程的pid值。然后,您可以从上面提取PORT变量。