从同一node.js子进程运行多个命令

Run multiple commands from same node.js child process

本文关键字:运行 命令 子进程 js node      更新时间:2023-09-26

node.js中是否有任何方法可以派生一个新进程,运行多个终端shell命令,并从同一进程/上下文执行node.js函数,如fs.writeFileSync。

作为一个例子,我想做以下的事情。在同一过程中执行以下所有操作。

exec("git worktree add -b"....);
exec("cd ../");
writeFileSync(...);

这是一个express.js应用程序,因为多个用户将同时访问同一个文件系统,并在同一个repo上执行git操作,所以我希望通过为每个用户生成一个新进程来避免冲突。

将它分离成一个主集线器,该集线器调用它的子级。这些子级预处理任何需要多线程执行的写入/保存。

当需要创建其中一个写线程时,只需让父级调用exec("node myWritingChild.js");即可。

请注意:通常最好让孩子通过管道打开/分叉来运行。有很多关于这方面的帖子,所以如果你想查找的话,请查看这些文档