0

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

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

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

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

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

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

语境:

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

4

1 回答 1

0

$PORT 为您提供PORT当前 shell 环境中的变量。过程可能会有所不同。要从启动的服务器环境中获取变量,您必须知道它的 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 回答