使用多个 bash 并行进程:
process1 &
...
process30 &
在每个进程中随机执行多个 git 操作将产生:
fork: Cannot allocate memory
系统是 CentOS 7,没有交换,我希望能够等到安全后再启动下一个进程。最好的方法是什么?
答案1
就像您执行的那样,它将并行启动所有进程,并将它们置于后台。这就是符号 ( &
) 的作用。
在这种情况下,请按顺序运行命令,即一个接一个地运行命令。
为此,请使用分号 ( ;
) 或新行分隔每个进程,但不使用最后的与符号,如下所示:
process1; process2; ... ; process30
或者
process1
...
process30
如此一来,就会启动process1,当它结束时就会启动process2,当process2结束时就会启动process3,以此类推,直到process30。
如果您只想在当前命令没有失败时运行下一个命令,则使用两个与号 ( &&
) 分隔命令,如下所示:
process1 && process2 && ... && process30