📜  Node.js process.kill() 方法(1)

📅  最后修改于: 2023-12-03 15:17:55.222000             🧑  作者: Mango

Node.js process.kill() 方法

Node.js 提供了许多方法来管理进程,其中之一是 process.kill() 方法。该方法允许你通过发送进程信号来终止或杀死一个进程。

语法

process.kill([pid, [signal]])

参数
  • pid:可选参数,被杀死进程的 id。
  • signal:可选参数,要发送的信号。
示例
杀死指定进程
const childProcess = require('child_process');

const child = childProcess.spawn('node', ['server.js']);

// 假设 child 进程的 PID 为 1234
process.kill(1234);

在上面的示例中,我们使用 child_process 模块的 spawn() 方法启动了一个子进程。然后,我们使用 process.kill() 方法发送信号 SIGTERM 终止该进程。

发送指定信号
const childProcess = require('child_process');

const child = childProcess.spawn('node', ['server.js']);

// 假设 child 进程的 PID 为 1234,发送信号 SIGKILL
process.kill(1234, 'SIGKILL');

在上面的示例中,我们还指定了要发送的信号,即 SIGKILL。这个信号会立即终止该进程,无论该进程正在执行何种操作。

常用信号

在 Node.js 中,常用的信号包括:

  • SIGHUP:挂起信号,该信号通常用于重新读取配置文件或重新加载软件。
  • SIGINT:中断信号,该信号通常用于在控制台上通过输入 Ctrl + C 来停止进程。
  • SIGKILL:立即终止信号,该信号会无条件立即杀死一个进程。
  • SIGTERM:终止信号,该信号允许进程在完成重要操作后正常退出。
  • SIGUSR1SIGUSR2:用户自定义信号,这些信号可以在应用程序中使用。
总结

process.kill() 方法是 Node.js 的一个重要特性之一,允许你通过向进程发送信号来管理或停止一个进程。这个方法可以指定要发送的信号,或者使用默认的 SIGTERM 信号来终止进程。在实际开发中,我们经常需要使用 process.kill() 方法来终止不必要的进程,或者重新加载应用程序的配置信息。