Having fork('./MyProcess.js',['foo']);
在主流程中和console.log(process.argv[2]);
在分叉进程中将记录foo到我的控制台。
然而,fork('./MyProcess.js',[{myProp : 'bar'}]);
在主流程中和console.log(process.argv[2]); console.log(process.argv[2].myProp);
在分叉进程中将记录[对象对象](如预期)但是不明确的对于第二个日志。
这是为什么?我应该怎样做才能获得所需的行为?
通过命令行参数将对象(json)传递给子进程不是一个好主意,命令参数需要首先转义(不容易)。你有一些选择:
- 对 json 进行十六进制编码,然后传递给子进程,这可行,但您的子进程接口很糟糕。
- 将 json 保存到文件,而是传递文件路径。
- 通过 stdin 将 json 传递给子进程。
- 将 json 作为消息发送给子进程,请参阅https://nodejs.org/api/child_process.html#child_process_child_send_message_sendhandle_options_callback https://nodejs.org/api/child_process.html#child_process_child_send_message_sendhandle_options_callback
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)