Node.js - process.disconnect() 方法
当一个 Node.js 进程是通过 IPC 频道衍生的,process.disconnect() 方法将关闭该 IPC 频道到父进程,允许子进程正常退出或结束。一旦没有其他连接使该进程保持活动状态,该进程将退出。
语法
process.disconnect()
示例 1
创建两个名为 "parent.js" 和 "child.js" 的文件,并复制以下代码段。创建文件后,使用命令 "node parent.js" 运行 parent.js。
parent.js
// process.channel Property Demo Example
// Importing the child_process modules
const fork = require('child_process').fork;
// Attaching the child process file
const child_file = 'child.js';
// Spawning/calling child process
const child = fork(child_file);child.js
console.log('In Child Process')
// Checking if channel is available
if (process.connected) {
// Check if its connected or not
if (process.connected == true) {
console.log("Child is connected.");
}
// Use process.disconnect() to disconnect with child
process.disconnect();
// Check if its connected or not
if (process.connected == false) {
console.log("Child is now disconnected.");
}
}输出
C:\home
ode>> node parent.js In Child Process Child is connected. Child is now disconnected.
示例 2
我们再看一个示例。
parent.js
// process.channel Property Demo Example
// Importing the child_process modules
const fork = require('child_process').fork;
// Attaching the child process file
const child_file = 'child.js';
// Spawning/calling child process
const child = fork(child_file);child.js
console.log('In Child Process')
// Checking if channel is available
if (process.connected) {
// Send multiple messages
setTimeout((function () {
if (process.connected == true) {
console.log("Process Running for: 1 second.");
}
}), 1000);
// Disconnect from channel after 2 seconds
setTimeout((function () {
if (process.connected == true) {
console.log("Process Running for: 2 seconds.");
}
}), 2000);
// Disconnect from channel after 2.5 seconds
setTimeout((function () {
process.disconnect();
}), 2500);
// Disconnect from channel after 3 seconds
setTimeout((function () {
if (process.connected == true) {
console.log("Process Running for: 3 seconds.");
}
}), 3000);
}输出
C:\home
ode>> node parent.js In Child Process Process Running for: 1 second. Process Running for: 2 seconds.
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP