human-signals

中文文档
8.0.1发布于 2025/03/29Apache-2.0TypeScriptES Module零依赖近 30 天下载 5.9亿

人性化的过程信号

中文使用文档
文档目录10 节
  1. signalsByName
  2. signalsByNumber
  3. 信号
  4. 名字
  5. 数量
  6. 描述
  7. 支持
  8. 行动
  9. 强迫
  10. 标准

Node TypeScript Codecov Mastodon Medium

人性化的过程信号。

这是已知进程信号的图,其中包含每个信号的一些信息。

不像 os.constants.signals 这包括:

例子

import { signalsByName, signalsByNumber } from 'human-signals'

console.log(signalsByName.SIGINT)
// {
//   name: 'SIGINT',
//   number: 2,
//   description: 'User interruption with CTRL-C',
//   supported: true,
//   action: 'terminate',
//   forced: false,
//   standard: 'ansi'
// }

console.log(signalsByNumber[8])
// {
//   name: 'SIGFPE',
//   number: 8,
//   description: 'Floating point arithmetic error',
//   supported: true,
//   action: 'core',
//   forced: false,
//   standard: 'ansi'
// }

安装

npm install human-signals

这个包在Node.js中工作>=18.18.0。

这是一个ES模块。必须使用 一个 import 或 import() 声明, 不 require(). 如果使用TypeScript,它必须被配置为 输出ES模块, 不是CommonJS。

用法

signalsByName

类型: object

键为signal的对象 的名字 价值观是 信号对象。

signalsByNumber

类型: object

键为signal的对象 数字 价值观是 信号对象。

信号

类型: object

具有以下属性的信号对象。

名字

类型: string

例如,信号的标准名称 'SIGINT'。

数量

类型: number

例如,信号的代码号 2. 虽然大多数 number 是 跨平台,有些在不同的操作系统之间是不同的。

描述

类型: string

例如,对信号的人性化描述 'User interruption with CTRL-C'。

支持

类型: boolean

当前操作系统是否可以在Node.js中使用 process.on(name, handler)。

支持的信号列表 是使用。

行动

类型: string
枚举: 'terminate', 'core', 'ignore', 'pause', 'unpause'

当这个信号没有被处理时,它的默认动作是什么?

强迫

类型: boolean

是否无法阻止信号的默认动作。这是 true 为 SIGTERM, SIGKILL 和 SIGSTOP。

标准

类型: string
枚举: 'ansi', 'posix', 'bsd', 'systemv', 'other'

哪个标准定义了这个信号。

支持

对于任何问题, 不要犹豫 来 在GitHub上提交问题。

无论个人背景如何,我们都欢迎大家。我们强制执行 行为准则 为了促进一个积极的和 包容的环境。

贡献

这个项目是用❤️制作的。最简单的回馈方式就是主演和 在网上分享。

如果文档不清楚或有错别字,请点击该页的 Edit 按钮(铅笔图标)并建议更正。

如果您想帮助我们修复错误或添加新功能,请查看我们的 指导方针. 欢迎拉请求!

感谢我们出色的贡献者:

ehmicky
ehmicky

💻 🎨 🤔 📖
electrovir
electrovir

💻
Felix Zedén Yverås
Felix zeden yver<e:2>

💻 ⚠️

版本与发布记录

human-signals 共发布 16 个版本,首次发布于 2019/10/13;过去 12 个月发布了 0 个版本。

版本发布日期距今
8.0.1latest2025/03/291.6 年前
8.0.02024/08/042 年前
7.0.02024/05/042 年前
6.0.02023/10/293 年前
5.0.02023/05/143 年前
4.3.12023/03/193 年前

关于 human-signals 的常见问题

human-signals 是什么?

人性化的过程信号

如何安装 human-signals?

在项目目录运行 npm install human-signals,或使用 pnpm add / yarn add / bun add。

human-signals 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

human-signals 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

human-signals 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18.18.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

human-signals 可以商用吗?

human-signals 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

human-signals 的下载量有多少?

根据 npm 官方下载统计,human-signals 在 2026/10/04 – 2026/11/02 这 30 天内被下载 594,956,467 次,日均约 19,831,882 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

human-signals 还在维护吗?

最新版本 8.0.1 发布于 2025/03/29(1.6 年前);至今共发布 16 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/10/13。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。