📅  最后修改于: 2023-12-03 15:17:55.222000             🧑  作者: Mango
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
:终止信号,该信号允许进程在完成重要操作后正常退出。SIGUSR1
和 SIGUSR2
:用户自定义信号,这些信号可以在应用程序中使用。process.kill()
方法是 Node.js 的一个重要特性之一,允许你通过向进程发送信号来管理或停止一个进程。这个方法可以指定要发送的信号,或者使用默认的 SIGTERM
信号来终止进程。在实际开发中,我们经常需要使用 process.kill()
方法来终止不必要的进程,或者重新加载应用程序的配置信息。