首先是基本问题,在上下文之下:
注意:我使用的是付费的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存储库中更改它时我都必须这样做。
答案 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变量。