subprocess.kill([signal])
添加于:v0.1.90
参数
subprocess.kill() 方法向子进程发送信号。如果没有给出参数,进程将被发送'SIGTERM' 信号。有关可用信号的列表,请参阅 。如果signal(7)   成功,此函数返回kill(2) true,否则返回false。
const { spawn } = require('node:child_process');
const grep = spawn('grep', ['ssh']);
grep.on('close', (code, signal) => {
  console.log(
    `child process terminated due to receipt of signal ${signal}`);
});
// Send SIGHUP to process.
grep.kill('SIGHUP');
如果无法传递信号,  对象可能会发出 ChildProcess   事件。向已经退出的子进程发送信号不是错误,但可能会产生无法预料的后果。具体来说,如果进程标识符 (PID) 已重新分配给另一个进程,则信号将被传递给该进程,而这可能会产生意想不到的结果。'error' 
虽然该函数被称为 kill ,但传递给子进程的信号实际上可能不会终止该进程。
请参阅  以供参考。kill(2) 
在不存在 POSIX 信号的 Windows 上,signal 参数将被忽略,进程将被强制而突然地终止(类似于 'SIGKILL' )。有关详细信息,请参阅Signal Events。
在 Linux 上,子进程的子进程在试图杀死其父进程时不会被终止。在 shell 中运行新进程或使用 ChildProcess 的 shell 选项时,可能会发生这种情况:
'use strict';
const { spawn } = require('node:child_process');
const subprocess = spawn(
  'sh',
  [
    '-c',
    `node -e "setInterval(() => {
      console.log(process.pid, 'is alive')
    }, 500);"`,
  ], {
    stdio: ['inherit', 'inherit', 'inherit']
  }
);
setTimeout(() => {
  subprocess.kill(); // Does not terminate the Node.js process in the shell.
}, 2000);
相关用法
- Node.js ChildProcess subprocess.stdio用法及代码示例
 - Node.js ChildProcess subprocess.send(message[, sendHandle[, options]][, callback])用法及代码示例
 - Node.js ChildProcess subprocess.stdout用法及代码示例
 - Node.js ChildProcess subprocess.unref()用法及代码示例
 - Node.js ChildProcess subprocess.pid用法及代码示例
 - Node.js ChildProcess subprocess.ref()用法及代码示例
 - Node.js substr()用法及代码示例
 - Node.js socket.bind()用法及代码示例
 - Node.js stream.Writable.uncork()用法及代码示例
 - Node.js split()用法及代码示例
 - Node.js stream.Readable.take(limit[, options])用法及代码示例
 - Node.js serverhttp2session.origin()用法及代码示例
 - Node.js stream.Readable.pipe(destination[, options])用法及代码示例
 - Node.js socket.setRecvBufferSize()用法及代码示例
 - Node.js socket.getSendBufferSize()用法及代码示例
 - Node.js stats.ctimeMs属性用法及代码示例
 - Node.js stream.Readable.setEncoding(encoding)用法及代码示例
 - Node.js stats.isSymbolicLink()用法及代码示例
 - Node.js stats.atimeMs属性用法及代码示例
 - Node.js sort()用法及代码示例
 - Node.js stream.Readable.some(fn[, options])用法及代码示例
 - Node.js stream.Readable.map(fn[, options])用法及代码示例
 - Node.js socket.setBroadcast()用法及代码示例
 - Node.js socket.ref()用法及代码示例
 - Node.js stats.isFIFO()用法及代码示例
 
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 subprocess.kill([signal])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
