# human-signals 中文文档

规范地址：https://npmcn.com/package/human-signals/

版本：8\.0\.1
npm 元数据更新时间：2025-03-29T02:43:46.565Z
中文译文更新时间：2026-11-04T22:37:08.855Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/human-signals
原文对照：https://npmcn.com/package/human-signals/?lang=original
项目主页：https://www.github.com/ehmicky/human-signals
源码仓库：https://github.com/ehmicky/human-signals

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：28 kB，8 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=18\.18\.0
- 运行依赖：0 个
- 首次发布：2019-10-12T18:52:58.137Z
- 最新版本发布：2025-03-29T02:43:46.398Z
- 近 30 天下载量：594956467（2026-10-04 至 2026-11-02，npm 官方下载统计）
- 已发布版本数：16（近 12 个月 0 个）

## 中文简介

人性化的过程信号

## 安装

```sh
npm install human-signals
```

也可以使用：`pnpm add human-signals`、`yarn add human-signals`、`bun add human-signals`

## README

[![Node](https://img.shields.io/badge/-Node.js-808080?logo=node.js&colorA=404040&logoColor=66cc33)](https://www.npmjs.com/package/human-signals) [![TypeScript](https://img.shields.io/badge/-Typed-808080?logo=typescript&colorA=404040&logoColor=0096ff)](https://npmcn.com/src/main.d.ts) [![Codecov](https://img.shields.io/badge/-Tested%20100%25-808080?logo=codecov&colorA=404040)](https://codecov.io/gh/ehmicky/human-signals) [![Mastodon](https://img.shields.io/badge/-Mastodon-808080.svg?logo=mastodon&colorA=404040&logoColor=9590F9)](https://fosstodon.org/@ehmicky) [![Medium](https://img.shields.io/badge/-Medium-808080.svg?logo=medium&colorA=404040)](https://medium.com/@ehmicky)

人性化的过程信号。

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

不像 [`os.constants.signals`](https://nodejs.org/api/os.html#os_signal_constants) 这包括:

-   人性化 [描述](https://npmcn.com/package/human-signals/#readme-description)
-   [默认的行为](https://npmcn.com/package/human-signals/#readme-action)，包括他们是否 [是可以预防的](https://npmcn.com/package/human-signals/#readme-forced)
-   信号是否 [支持](https://npmcn.com/package/human-signals/#readme-supported) 当前操作系统

# 例子

```js
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'
// }
```

# 安装

```bash
npm install human-signals
```

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

这是一个ES模块。必须使用 [一个 `import` 或 `import()` 声明](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c)， 不 `require()`． 如果使用TypeScript，它必须被配置为 [输出ES模块](https://www.typescriptlang.org/docs/handbook/esm-node.html)， 不是CommonJS。

# 用法

## signalsByName

_类型_： `object`

键为signal的对象 [的名字](https://npmcn.com/package/human-signals/#readme-name) 价值观是 [信号对象](https://npmcn.com/package/human-signals/#readme-signal)。

## signalsByNumber

_类型_： `object`

键为signal的对象 [数字](https://npmcn.com/package/human-signals/#readme-number) 价值观是 [信号对象](https://npmcn.com/package/human-signals/#readme-signal)。

## 信号

_类型_： `object`

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

### 名字

_类型_： `string`

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

### 数量

_类型_： `number`

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

### 描述

_类型_： `string`

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

### 支持

_类型_： `boolean`

当前操作系统是否可以在Node.js中使用 [`process.on(name, handler)`](https://nodejs.org/api/process.html#process_signal_events)。

支持的信号列表 [是使用](https://github.com/ehmicky/cross-platform-node-guide/blob/main/docs/6_networking_ipc/signals.md#cross-platform-signals)。

### 行动

_类型_： `string`  
_枚举_： `'terminate'`， `'core'`， `'ignore'`， `'pause'`， `'unpause'`

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

### 强迫

_类型_： `boolean`

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

### 标准

_类型_： `string`  
_枚举_： `'ansi'`， `'posix'`， `'bsd'`， `'systemv'`， `'other'`

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

# 支持

对于任何问题， _不要犹豫_ 来 [在GitHub上提交问题](https://npmcn.com/issues)。

无论个人背景如何，我们都欢迎大家。我们强制执行 [行为准则](https://npmcn.com/package/human-signals/CODE_OF_CONDUCT.md) 为了促进一个积极的和 包容的环境。

# 贡献

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

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

如果您想帮助我们修复错误或添加新功能，请查看我们的 [指导方针](https://npmcn.com/package/human-signals/CONTRIBUTING.md)． 欢迎拉请求！

感谢我们出色的贡献者：

<table><tbody><tr><td align="center"><a href="https://fosstodon.org/@ehmicky" rel="nofollow noopener noreferrer"><img alt="ehmicky" src="https://avatars2.githubusercontent.com/u/8136211?v=4?s=100" width="100px;" loading="lazy" decoding="async" referrerpolicy="no-referrer"><br><sub><b>ehmicky</b></sub></a><br><a href="https://github.com/ehmicky/human-signals/commits?author=ehmicky" title="Code" rel="nofollow noopener noreferrer">💻</a> <a href="https://npmcn.com/package/human-signals/#readme-design-ehmicky" title="Design" rel="nofollow noopener noreferrer">🎨</a> <a href="https://npmcn.com/package/human-signals/#readme-ideas-ehmicky" title="Ideas, Planning, &amp; Feedback" rel="nofollow noopener noreferrer">🤔</a> <a href="https://github.com/ehmicky/human-signals/commits?author=ehmicky" title="Documentation" rel="nofollow noopener noreferrer">📖</a></td><td align="center"><a href="http://www.electrovir.com/" rel="nofollow noopener noreferrer"><img alt="electrovir" src="https://avatars0.githubusercontent.com/u/1205860?v=4?s=100" width="100px;" loading="lazy" decoding="async" referrerpolicy="no-referrer"><br><sub><b>electrovir</b></sub></a><br><a href="https://github.com/ehmicky/human-signals/commits?author=electrovir" title="Code" rel="nofollow noopener noreferrer">💻</a></td><td align="center"><a href="https://fzy.se/" rel="nofollow noopener noreferrer"><img alt="Felix Zedén Yverås" src="https://avatars.githubusercontent.com/u/2656517?v=4?s=100" width="100px;" loading="lazy" decoding="async" referrerpolicy="no-referrer"><br><sub><b>Felix zeden yver&lt;e:2&gt;</b></sub></a><br><a href="https://github.com/ehmicky/human-signals/commits?author=FelixZY" title="Code" rel="nofollow noopener noreferrer">💻</a> <a href="https://github.com/ehmicky/human-signals/commits?author=FelixZY" title="Tests" rel="nofollow noopener noreferrer">⚠️</a></td></tr></tbody></table>

## 常见问题

### 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 和提交记录判断。

