📜  Node.js process.kill() 方法

📅  最后修改于: 2022-05-13 01:56:40.658000             🧑  作者: Mango

Node.js process.kill() 方法

process.kill( pid[,signal] )是 node.js 的一个内置方法,它向进程发送信号, pid (即进程 ID)和信号是要发送的信号的字符串格式。

句法 :

process.kill(pid[, signal])

参数:此方法接受上面提到的两个参数,如下所述:

  • pid:此参数保存进程ID。
  • 信号:此参数保存字符串格式。

    信号名称:这些是字符串格式。

    1. SIGTERM
    2. 信号情报
    3. SIGHUP

注意:如果未指定信号,则默认情况下“SIGTERM”将是信号。

  • 'SIGTERM''SIGINT ' 信号在非 Windows 平台上具有默认处理程序,这些处理程序在使用代码 128 + 信号编号退出之前重置终端模式。如果这些信号之一安装了侦听器,则它在 node.js 上的默认行为将被删除。
  • 'SIGHUP'在控制台窗口关闭时生成。

返回值:如果目标pid未找到或不存在,则 process.kill() 方法将抛出错误。如果 pid 存在,则此方法返回布尔值0 ,并可用作目标进程是否存在的测试。对于window用户,如果用pid杀死一组进程,这个方法也会报错。

下面的例子说明了在 Node.js 中process.kill()属性的使用:

示例 1:

index.js
// Node.js program to demonstrate the 
// process.kill(pid[, signal]) method 
  
  
// Printing process signal acknowledged
const displayInfo = () => {
  console.log('Receiving SIGINT signal in nodeJS.');
}
  
// Initiating a process
process.on('SIGINT', displayInfo);
  
setTimeout(() => {
  console.log('Exiting.');
  process.exit(0);
}, 100);
  
// kill the process with pid and signal = 'SIGINT'     
process.kill(process.pid, 'SIGINT');


index.js
// Node.js program to demonstrate the 
// process.kill(pid[, signal]) method 
// Printing process signal acknowledged
const displayInfo = () => {
  console.log('Acknowledged SIGHUP signal in nodeJS.');
}
  
// Initiating a process
process.on('SIGHUP', displayInfo);
  
setTimeout(() => {
  console.log('Exiting.');
  process.exit(0);
}, 100);
  
// kill the process with pid and signal = 'SIGHUP'     
process.kill(process.pid, 'SIGHUP');


运行命令:

node index.js

输出 :

示例 2:

index.js

// Node.js program to demonstrate the 
// process.kill(pid[, signal]) method 
// Printing process signal acknowledged
const displayInfo = () => {
  console.log('Acknowledged SIGHUP signal in nodeJS.');
}
  
// Initiating a process
process.on('SIGHUP', displayInfo);
  
setTimeout(() => {
  console.log('Exiting.');
  process.exit(0);
}, 100);
  
// kill the process with pid and signal = 'SIGHUP'     
process.kill(process.pid, 'SIGHUP');

运行命令:

node index.js

输出 :

参考: https ://nodejs.org/api/process.html#process_process_kill_pid_signal