process.kill(pid[, signal])


  • pid <number> 一个进程 ID
  • signal <string> | <number> 要发送的信号,可以是字符串或数字。 默认值: 'SIGTERM'

process.kill() 方法会向由 pid 指定的进程发送 signal

🌐 The process.kill() method sends the signal to the process identified by pid.

信号名称是诸如 'SIGINT''SIGHUP' 的字符串。有关更多信息,请参见 信号事件kill(2)

🌐 Signal names are strings such as 'SIGINT' or 'SIGHUP'. See Signal Events and kill(2) for more information.

如果目标 pid 不存在,此方法将抛出错误。作为一种特殊情况,可以使用信号 0 来测试进程是否存在。如果在 Windows 平台上使用 pid 来终止进程组,将会抛出错误。

🌐 This method will throw an error if the target pid does not exist. As a special case, a signal of 0 can be used to test for the existence of a process. Windows platforms will throw an error if the pid is used to kill a process group.

尽管这个函数的名称是 process.kill(),它实际上只是一个信号发送器,就像 kill 系统调用一样。发送的信号可能会执行除了终止目标进程之外的其他操作。

🌐 Even though the name of this function is process.kill(), it is really just a signal sender, like the kill system call. The signal sent may do something other than kill the target process.

import process, { kill } from 'node:process';

process.on('SIGHUP', () => {
  console.log('Got SIGHUP signal.');
});

setTimeout(() => {
  console.log('Exiting.');
  process.exit(0);
}, 100);

kill(process.pid, 'SIGHUP');const process = require('node:process');

process.on('SIGHUP', () => {
  console.log('Got SIGHUP signal.');
});

setTimeout(() => {
  console.log('Exiting.');
  process.exit(0);
}, 100);

process.kill(process.pid, 'SIGHUP');

当 Node.js 进程接收到 SIGUSR1 时,Node.js 将启动调试器。详见 信号事件

🌐 When SIGUSR1 is received by a Node.js process, Node.js will start the debugger. See Signal Events.