Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 调用回调后process.send是否总是成功?_Node.js_Child Process - Fatal编程技术网

Node.js 调用回调后process.send是否总是成功?

Node.js 调用回调后process.send是否总是成功?,node.js,child-process,Node.js,Child Process,在Node.js中,我有一个parent.js脚本和一个child.js脚本。parent.js应该做的是照顾它的child.js,这样每当它不能正常退出时,就应该对它做些什么,然后重新启动它。然而,child.js有时实际上应该优雅地退出。所以我想我可以使用process.sendfromchild.js让parent.js知道它快要死了,但它很高兴。我想这样说: process.send('I am dying but it is okay.', function(error) { i

在Node.js中,我有一个
parent.js
脚本和一个
child.js
脚本。
parent.js
应该做的是照顾它的
child.js
,这样每当它不能正常退出时,就应该对它做些什么,然后重新启动它。然而,
child.js
有时实际上应该优雅地退出。所以我想我可以使用
process.send
from
child.js
parent.js
知道它快要死了,但它很高兴。我想这样说:

process.send('I am dying but it is okay.', function(error)
{
   if(!error)
      rest_in_peace();
});

现在,上面说可以在消息实际传递之前调用
callback()
。现在,既然我认为死亡也意味着关闭与父进程的连接,那么这样做安全吗?假设
parent.js
是完全无故障且健康的,那么我是否可以假设,即使在传递消息之前在
child.js
端调用了
callback
child.js
也可以在知道消息将在某个时间被传递的情况下愉快地关闭?或者我应该想办法在这两个过程之间进行某种形式的确认过程,这样我才能真正了解消息是否已发送?

您是否考虑过使用退出代码向家长传达孩子已经(或没有)优雅地退出了?这取决于你认为是优雅还是不优雅,但一般来说,0的退出代码被认为是“OK”,其他任何东西都不是。看。是的,我考虑过了,但我正在把这个东西开发成一个库,我宁愿不使用退出代码,因为我不想强迫我的用户按照我的要求使用退出代码。退出代码作为一种从子系统向父系统传递某种状态的手段似乎更为普遍(当然是在Unix类型的操作系统中)而不是它们之间发送的自定义消息。