diff --git a/doc/api/child_process.md b/doc/api/child_process.md index 6f74038b3c9c90..f9b0ebf1f92a05 100644 --- a/doc/api/child_process.md +++ b/doc/api/child_process.md @@ -1018,6 +1018,10 @@ See [Advanced Serialization][] for more details. ### `subprocess.channel` * {Object} A pipe representing the IPC channel to the child process. @@ -1025,6 +1029,22 @@ added: v7.1.0 The `subprocess.channel` property is a reference to the child's IPC channel. If no IPC channel currently exists, this property is `undefined`. +#### `subprocess.channel.ref()` + + +This method makes the IPC channel keep the event loop of the parent process +running if `.unref()` has been called before. + +#### `subprocess.channel.unref()` + + +This method makes the IPC channel not keep the event loop of the parent process +running, and lets it finish even while the channel is open. + ### `subprocess.connected` * {Object} @@ -635,6 +639,30 @@ If the Node.js process was spawned with an IPC channel (see the property is a reference to the IPC channel. If no IPC channel exists, this property is `undefined`. +### `process.channel.ref()` + + +This method makes the IPC channel keep the event loop of the process +running if `.unref()` has been called before. + +Typically, this is managed through the number of `'disconnect'` and `'message'` +listeners on the `process` object. However, this method can be used to +explicitly request a specific behavior. + +### `process.channel.unref()` + + +This method makes the IPC channel not keep the event loop of the process +running, and lets it finish even while the channel is open. + +Typically, this is managed through the number of `'disconnect'` and `'message'` +listeners on the `process` object. However, this method can be used to +explicitly request a specific behavior. + ## `process.chdir(directory)`