将对象作为参数发送给分叉的 Nodejs 进程

2024-03-20

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)传递给子进程不是一个好主意,命令参数需要首先转义(不容易)。你有一些选择:

  1. 对 json 进行十六进制编码,然后传递给子进程,这可行,但您的子进程接口很糟糕。
  2. 将 json 保存到文件,而是传递文件路径。
  3. 通过 stdin 将 json 传递给子进程。
  4. 将 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(使用前将#替换为@)

将对象作为参数发送给分叉的 Nodejs 进程 的相关文章

随机推荐