如何解决可以在 fork 中使用 exec 吗?
我的需求是在fork的子进程中执行“node sample.js”之类的命令。可以在 fork 中使用 exec 吗?
index.js
const app = require ("express")();
const {fork} = require("child_process")
app.get("/child",(req,res) => {
const childProcess = fork('./child.js');
childProcess.send({"arg": req.query.arg})
childProcess.on("message",message => res.send(message))
} )
app.listen(8081,()=>console.log("Listening on 8081") )
./child.js
process.on("message",message => {
const jsonResponse = somefunction(message.arg);
process.send(jsonResponse);
process.exit();
})
function somefunction(arg) {
if(arg=="11"){
console.log("arg1:"arg)
exec("node anything.js",(err,stdout,stderr)=>{
console.log("inside exec")
console.log(err)
console.log(stdout)
console.log(stderr)
}
console.log("arg2:"arg)
}
return {"msg":"apiworked"}
}
本地主机:8081/child?arg=11
输出:
Listening on 8081
arg1:11
arg2:11
这里 exec 不是没有被执行。关于方法或任何其他方法的任何建议??
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。