# @eliware/signals 中文文档

规范地址：https://npmcn.com/package/%40eliware/signals/

版本：15\.0\.1
npm 元数据更新时间：2026-10-27T01:02:40.491Z
中文译文更新时间：2026-11-14T06:58:47.452Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40eliware/signals
原文对照：https://npmcn.com/package/%40eliware/signals/?lang=original
项目主页：https://github.com/eliware/signals#readme
源码仓库：https://github.com/eliware/signals

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

- 包体积（解压后）：37.4 kB，32 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=26
- 运行依赖：1 个
- 首次发布：2025-12-09T00:13:30.982Z
- 最新版本发布：2026-10-27T01:02:39.942Z
- 近 30 天下载量：2187（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：13（近 12 个月 13 个）

## 中文简介

节点关闭信号处理器工具

## 安装

```sh
npm install @eliware/signals
```

也可以使用：`pnpm add @eliware/signals`、`yarn add @eliware/signals`、`bun add @eliware/signals`

## README

# [![eliware.org](https://eliware.org/logos/brand.png)](https://discord.gg/M6aTR9eTwN)

## @ eliware/ 信号 [![npm](https://img.shields.io/npm/v/@eliware/signals)](https://www.npmjs.com/package/@eliware/signals) [![License](https://img.shields.io/github/license/eliware/signals)](https://github.com/eliware/signals/blob/main/LICENSE) [![CI](https://github.com/eliware/signals/actions/workflows/ci.yaml/badge.svg)](https://github.com/eliware/signals/actions/workflows/ci.yaml)

节点关闭信号处理器工具

## 目录

-   [特征](https://npmcn.com/package/%40eliware/signals/#readme-features)
-   [所需资源](https://npmcn.com/package/%40eliware/signals/#readme-requirements)
-   [设置](https://npmcn.com/package/%40eliware/signals/#readme-setup)
-   [使用量](https://npmcn.com/package/%40eliware/signals/#readme-usage)
-   [发展](https://npmcn.com/package/%40eliware/signals/#readme-development)
-   [测试](https://npmcn.com/package/%40eliware/signals/#readme-testing)
-   [解决问题](https://npmcn.com/package/%40eliware/signals/#readme-troubleshooting)
-   [警卫](https://npmcn.com/package/%40eliware/signals/#readme-security)
-   [API 密码](https://npmcn.com/package/%40eliware/signals/#readme-api)
-   [包装](https://npmcn.com/package/%40eliware/signals/#readme-packaging)
-   [实例](https://npmcn.com/package/%40eliware/signals/#readme-examples)
-   [支助](https://npmcn.com/package/%40eliware/signals/#readme-support)
-   [链接](https://npmcn.com/package/%40eliware/signals/#readme-links)
-   [许可证](https://npmcn.com/package/%40eliware/signals/#readme-license)

## 特征

软件包开始清理 `SIGTERM`, (中文(简体) ), `SIGINT`,以及 `SIGHUP`。 。 。 . 关闭时运行命令的清理功能 . 设置退出代码或防止进程退出.

## 所需资源

使用节点.js 26或后. 采用本土无害环境管理.

## 设置

在您的工程中运行此命令 :

```sh
npm install @eliware/signals
```

## 使用量

导入 `registerSignals` 从 `@eliware/signals`。 。 。 . 传递清理函数为 `shutdownHook`。 。 。 . 设定 `exit: false` 当您的应用程序控制进程退出时. 打电话 `shutdown()` 以运行清理并等待所有清理功能完成. 打电话 `removeHandlers()` 当您不再需要注册时.

```js
import registerSignals from "@eliware/signals";

registerSignals({
  shutdownHook: async () => {
    process.stdout.write("Cleanup complete\n");
  },
});
```

这一例子要求节点-js 26或后期和本土无害环境管理. 在安装此软件包的项目中运行 . 发送 `SIGTERM`, (中文(简体) ), `SIGINT`,或 `SIGHUP` 以运行清理功能. 进程带有代码退出 `0` 清理功能完成后.

读取 [发布注释](https://npmcn.com/package/%40eliware/signals/RELEASE_NOTES.md) 用于用户可见的更改. 读取 [用户指南](https://npmcn.com/package/%40eliware/signals/docs/README.md) 完全使用细节.

## 发展

运行 `npm ci` 安装锁定的开发依赖. 读取 [一般事务人员(其他职等)](https://npmcn.com/package/%40eliware/signals/AGENTS.md) 用于仓库验证命令和 [规格索引](https://npmcn.com/package/%40eliware/signals/specs/README.md) 用于储存库要求.

## 测试

运行 `npm test` 以验证软件包.

## 解决问题

设定 `exit: false` 当您的应用程序控制进程退出时. 呼唤并等待 `shutdown()` 当您的申请必须等待清理时. 读取 [解决问题指南](https://npmcn.com/package/%40eliware/signals/docs/troubleshooting.md) 需要更多的帮助.

## 警卫

在日志中保留秘密和敏感的关闭数据. 在节点时不要依赖同步清理 `exit` 事件.

## API 密码

打电话 `registerSignals(options?)` 以便接收登记对象. 选项包括 `processObj`, (中文(简体) ), `log`, (中文(简体) ), `signals`, (中文(简体) ), `shutdownHook`, (中文(简体) ), `exitCode`, (中文(简体) ), `exit`,以及 `signal`。 。 。 . 每个清理功能按注册顺序运行. 如果清理功能失败,包会记录一个没有出错细节的固定通知并继续进行. 读取 [API 参考](https://npmcn.com/package/%40eliware/signals/docs/api.md) 财务报告和审定财务报表 [类型声明](https://npmcn.com/package/%40eliware/signals/src/index.d.ts) 详细情况.

## 包装

使用数字 `MAJOR.MINOR.PATCH` 版本和匹配 `v<version>` 释放标签. Npm工作流程在发布前验证匹配的标签和包版本. 运行 `npm run pack` 来检查软件包的内容。 只在批准发布步骤后发布.

## 实例

读取 [示例索引](https://npmcn.com/package/%40eliware/signals/examples/README.md) 运行 `node examples/example.mjs`。 。 。 .

## 支助

为了帮助、提问或与提交人和社区交谈,访问:

[![Discord](https://eliware.org/logos/discord_96.png)](https://discord.gg/M6aTR9eTwN)[![eliware.org](https://eliware.org/logos/eliware_96.png)](https://discord.gg/M6aTR9eTwN)

**[eliware.org 关于迪斯科尔](https://discord.gg/M6aTR9eTwN)**

## 链接

-   [主页](https://eliware.org/)
-   [GitHub 图标](https://github.com/eliware)
-   [GitHub 重现](https://github.com/eliware/signals)
-   [错误报告](https://github.com/eliware/signals/issues)
-   [无](https://www.npmjs.com/package/@eliware/signals)
-   [解析器](https://discord.gg/M6aTR9eTwN)

## 许可证

[麻省理工学院 Eliware](https://npmcn.com/package/%40eliware/signals/LICENSE)

## 常见问题

### @eliware/signals 是什么？

节点关闭信号处理器工具

### 如何安装 @eliware/signals？

在项目目录运行 npm install @eliware/signals，或使用 pnpm add / yarn add / bun add。

### @eliware/signals 支持 TypeScript 吗？

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

### @eliware/signals 支持 ESM 还是 CommonJS？

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

### @eliware/signals 需要什么版本的 Node\.js？

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

### @eliware/signals 可以商用吗？

@eliware/signals 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @eliware/signals 的下载量有多少？

根据 npm 官方下载统计，@eliware/signals 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,187 次，日均约 73 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @eliware/signals 还在维护吗？

最新版本 15\.0\.1 发布于 2026/10/27（18 天前）；至今共发布 13 个版本，其中过去 12 个月发布了 13 个；首次发布于 2025/12/09。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

