Node.js process.kill() 方法
process.kill( pid[,signal] )是 node.js 的一个内置方法,它向进程发送信号, pid (即进程 ID)和信号是要发送的信号的字符串格式。
句法 :
process.kill(pid[, signal])
参数:此方法接受上面提到的两个参数,如下所述:
- pid:此参数保存进程ID。
- 信号:此参数保存字符串格式。
信号名称:这些是字符串格式。
- SIGTERM
- 信号情报
- 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