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

时间:2016-07-29 13:00:56

标签: javascript node.js git express

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

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

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

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

1 个答案:

答案 0 :(得分:-1)

将其分成一个叫做孩子的主集线器。这些孩子会预先形成你需要多线程的任何写作/保存。

当需要创建其中一个写入线程时,只需让父级调用# test data Lines <- "Name^FiscCode^Country^Adress^SomeData^ SomeCompany^235356^Romania^Adress1 Adress2^ 565863 SomeCompany^235356^Romania^Adress1^ 565863" # for real problem use readLines("myfile")[-1] L <- readLines(textConnection(Lines))[-1] g <- rev(cumsum(rev(grepl("\\^ *\\d+$", L)))) ## g <- max(g) - g + 1 L2 <- tapply(L, g, paste, collapse = " ") read.table(text = L2, sep = "^")

请注意:通过让孩子通过管道打开/分叉来运行孩子通常会更好。关于此问题有many postings所以如果您愿意,请查看。另请查看这些docs

相关问题