worker.isDead()
新增于: v0.11.14
如果工作进程已终止(由于退出或收到信号),则此函数返回 true。否则,它返回 false。
\This function returns true if the worker's process has terminated (either
because of exiting or being signaled). Otherwise, it returns false.
import cluster from 'node:cluster'; import http from 'node:http'; import { availableParallelism } from 'node:os'; import process from 'node:process'; const numCPUs = availableParallelism(); if (cluster.isPrimary) { console.log(`Primary ${process.pid} is running`); // Fork workers. for (let i = 0; i < numCPUs; i++) { cluster.fork(); } cluster.on('fork', (worker) => { console.log('worker is dead:', worker.isDead()); }); cluster.on('exit', (worker, code, signal) => { console.log('worker is dead:', worker.isDead()); }); } else { // Workers can share any TCP connection. In this case, it is an HTTP server. http.createServer((req, res) => { res.writeHead(200); res.end(`Current process\n ${process.pid}`); process.kill(process.pid); }).listen(8000); }const cluster = require('node:cluster'); const http = require('node:http'); const numCPUs = require('node:os').availableParallelism(); const process = require('node:process'); if (cluster.isPrimary) { console.log(`Primary ${process.pid} is running`); // Fork workers. for (let i = 0; i < numCPUs; i++) { cluster.fork(); } cluster.on('fork', (worker) => { console.log('worker is dead:', worker.isDead()); }); cluster.on('exit', (worker, code, signal) => { console.log('worker is dead:', worker.isDead()); }); } else { // Workers can share any TCP connection. In this case, it is an HTTP server. http.createServer((req, res) => { res.writeHead(200); res.end(`Current process\n ${process.pid}`); process.kill(process.pid); }).listen(8000); }