有没有可靠的方法来检测 io.js 或 node.js 是否正在运行?

2024-04-16

我可以推断 node.js 或 io.js 是否正在运行的唯一方法是检查process.versions.node。在 io.js 中,我得到 1.0.4。

我确信有更好的方法 - 有人知道吗?


现在最可靠的解决方案是执行node -h看看它是否包含iojs.org子串。如果是的话——那就是iojs:

function isIojs(callback) {
    require('child_process').exec(process.execPath + ' -h', function(err, help) {
        return err ? callback(err) : callback(null, /iojs\.org/.test(help));
    });
}

这种方法的一大缺点是——它是异步的。所以我写了一个小型库来简化工作:is-iojs https://www.npmjs.com/package/is-iojs.

但坦率地说:谁知道 Node 版本 1 何时发布,也许永远不会。所以我认为目前的决定仅基于process.version足够的:

var isIojs = parseInt(process.version.match(/^v(\d+)\./)[1]) >= 1;

您还可以检查process.execPathstring,但据我所知,这种方法不适用于 Windows。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有可靠的方法来检测 io.js 或 node.js 是否正在运行? 的相关文章

随机推荐

  • 如何从 AngularJS 模板中的嵌套 JSON 数组获取值?

    我下面有一些 JSON 数据 tracks album released 2013 href spotify album 3qGeRY1wt4rrLIt1YuSwHR name The Marshall Mathers LP2 Deluxe
  • 增强多边形序列化

    我在我的项目中使用增强几何体 并且需要序列化多边形 我一直在使用 boost 序列化 对于许多 boost 数据类型都没有问题 但 boost 几何似乎当前不支持序列化 因为我在序列化文件夹中找不到任何标头 有没有众所周知的方法来实现这一目
  • log4go的异常行为

    我找到了log4go http code google com p log4go w list包有时会丢失日志 以下是一个简单的代码片段 我移动了log4go目录 因此以下导入就可以了 package main import log4go
  • 如何在 QGraphicsView 中启用 QOpenGLWidget 的抗锯齿功能?

    我已通过 QGraphicsProxyWidget 将 QOpenGLWidget 添加到 QGraphicsView 不使用 setviewport QSurfaceFormat format QSurfaceFormat format
  • 如何在不使用 C++ 中的字符串函数的情况下检查字符串是否为回文

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的任务是创建一个程序来检查输入的字符串是否是回文 所以我在这里有这个简单的程序 include
  • 如何从 LDAP 目录中提取 TNSNames

    我一直在尝试查询 LDAP 目录服务器以检索 tnsnames 条目 我可以使用以下代码 但味道不对 是因为它是错误的 还是因为查询 ldap 涉及几个间接级别 let identifier LdapDirectoryIdentifier
  • Bitbucket:从提示绑定文件以供下载

    我在一个私人存储库中工作 并与我的朋友合作 他对 SCM 之类的东西不太友好 他所需要的只是监控我开发的最新版本 这是 1 个可执行文件 我想知道 而不是每次他想要获取最新更改时克隆整个存储库 有时我的更改集可能由几个仅在开发时使用而不是测
  • OpenGL ES 像素艺术 - 缩放

    我在 iPhone 上的 OpenGL Es 1 1 上显示基于像素的艺术 想想复古瓷砖和艺术 时遇到问题 图块使用 8 个字节 每行 1 个字节 表示 每一位代表一个像素是否被设置 例如数字为 8 的图块 0 0 0 0 0 0 0 0
  • 企业内部应用程序分发

    我正在为一家公司开发 iPad 应用程序 由于保密原因 他们不想将应用程序发布到应用程序商店 他们满足企业计划要求 但尚未参与 该公司想知道分销流程是怎样的 我已经深入苹果文档丛林 我对配置文件有点困惑 由于保密原因 我想使用带有配置文件的
  • 创建规则来限制sql server表中的特殊字符

    我想创建一条规则来限制在列中输入特殊字符 我已经尝试过以下方法 但这没有用 CREATE RULE rule spchar AS make LIKE lt gt 我不知道我在这里做错了什么 任何帮助 将不胜感激 您可以创建一个Check C
  • Python、Brew 和 MySQLdb

    我一直在通过brew安装运行python 我用安装工具安装了 mysql python Egg 根据 mysql python 说明进行标准安装 并将其安装到 usr local lib python2 7 site packages 处理
  • USB接口条码扫描器

    不完全是一个编程问题 但很接近 无论如何我都会试试运气 The 键盘楔子 扫码机插入 读者之间的翻译装置 和键盘 数据发送通过 楔形看起来就像是被输入的 电脑 而键盘 本身仍保持完整功能 因为电脑使用键盘 楔子无法区分 在输入的数据之间 扫
  • 为什么reinterpret_cast不是constexpr?

    考虑以下片段 static constexpr uint8 t a 0 static constexpr const int8 t b reinterpret cast
  • 由 pandoc 从 .md 转换而来的 Beamer 幻灯片中的绘图非常大

    R 生成的正态图chunksR 中的 Markdown 文件在转换为 html 幻灯片或 pdf 时完全相同 但是 当它们通过以下方式转换为投影仪幻灯片时pandoc t beamer ex md V theme Warsaw o beam
  • SVG路径定位

    我正在制作脸部 SVG 无法将眉毛固定在正确的位置 请指教
  • Ado.Net 实体:对象不显示链接成员(外键)

    我有一个简单的数据库方案 用户 帐户 用户与帐户具有一对多关系 我已经生成了 ado net 实体数据模型 我可以创建用户和帐户 甚至可以将它们链接在一起 在数据库中 account user id 已正确填写 因此理论上我应该能够通过实体
  • 具有 DNS 验证的证书陷入待验证状态

    我已将我的域转移到 Route53 并且我希望 Amazon Certificate Manager 为该域颁发证书 我按照控制台中的步骤颁发证书 确实出现了 在 Route53 中创建记录 按钮 我确实按它 它说 成功 我确实看到在 Ro
  • 如何在numpy中设置最大输出宽度?

    我正在使用 Jupyter 笔记本 我有一个相当宽的屏幕 但是显示的输出 例如 当我打印numpyarray 的格式就像屏幕很窄一样 我找到了一种增加单元格宽度的方法 from IPython core display import HTM
  • 用户主目录中的 log4j 日志文件

    我正在开发一个可以在 OSX 和 Windows 上运行的应用程序 我希望将日志写入用户主目录 对于 OSX 它将位于 Users Library Application Support MyApp log 目录下 而在 Windows 下
  • 有没有可靠的方法来检测 io.js 或 node.js 是否正在运行?

    我可以推断 node js 或 io js 是否正在运行的唯一方法是检查process versions node 在 io js 中 我得到 1 0 4 我确信有更好的方法 有人知道吗 现在最可靠的解决方案是执行node h看看它是否包含