我想在~/.xinitrc中并行执行许多命令。
POSIX sh语法很容易归档:
cmd & cmd & ...但其中一些具有依赖关系,并按顺序运行,但每个序列并行运行。
我带着:
{ cmd1 && cmd2; } &
cmd3 &
{ cmd4 || cmd5; } &cmd1和cmd2是否在从原来sh分叉的单sh进程中执行?
我理解POSIX对以下每一项的说明:
&& -和列表& -异步列表{ ...; } -在当前环境中执行的复合列表但是,当这些语法单元一起使用时,不能推断执行语义。
(cmd)等价于{cmd;} &吗?
(...)语法(子subshell)是否帮助我存档我的目标?
发布于 2015-08-11 16:18:18
你的假设是正确的。
{ cmd1 && cmd2; } &分叉一个新的shell,其中cmd1运行到完成,如果成功,则接着运行cmd2。(cmd)启动一个新的子shell,但在继续之前等待该shell完成。{ ...; } &和( ... ) &是相似的;我不记得第二个进程是为每个(...)和&启动一个额外的进程,还是只在后台运行(...)的新进程。
https://stackoverflow.com/questions/31946374
复制相似问题