在后台运行linux命令的同步问题

时间:2014-09-04 17:40:25

标签: linux synchronization background-process

我必须运行三个阻塞的linux命令(command1,command2& command3)并且我实现了同步,这样如果用户使用terminal2运行command2而command1在terminal1中执行,我的服务器将返回错误,指出command1仍在执行。对于command3也是如此。但是,如果我像下面那样做一个循环

for i in {1..3}; do { command$i & }; done

所有三个都开始执行并行,这是不希望的。是同步故障还是不应该以这种方式运行这些命令?在后台运行命令与在不同终端中运行命令不一样吗?

我觉得我错过了一些明显的东西。请赐教。

1 个答案:

答案 0 :(得分:0)

&符号将作业放在后台,后者立即返回并具有并行运行的效果。要连续运行它们,请删除&。