我必须运行三个阻塞的linux命令(command1,command2& command3)并且我实现了同步,这样如果用户使用terminal2运行command2而command1在terminal1中执行,我的服务器将返回错误,指出command1仍在执行。对于command3也是如此。但是,如果我像下面那样做一个循环
for i in {1..3}; do { command$i & }; done
所有三个都开始执行并行,这是不希望的。是同步故障还是不应该以这种方式运行这些命令?在后台运行命令与在不同终端中运行命令不一样吗?
我觉得我错过了一些明显的东西。请赐教。
答案 0 :(得分:0)
&符号将作业放在后台,后者立即返回并具有并行运行的效果。要连续运行它们,请删除&。