2014-07-10 149 views
1

默认情况下Shell脚本执行在行为上是同步的吗?是Shell脚本执行同步吗?

Script1 
Script2 

我有一个SCRIPT1这将需要超过4分钟完成,接下来的工作就是依赖于此。(类似生产者和消费者的问题)。

想知道script2是否等到script1完成执行。

+3

我不确定你在问什么,你能改述一下吗?脚本运行一系列命令。如果需要,那些命令可以是“后台”,但不是默认情况下。 – Sobrique

回答

2

虽然我不完全确定你想知道什么,但这里有一些常见的东西。

您可以运行paralell脚本 - 将它们发送到后台,如:

script1 & 
script2 & 
script3 & 

所有3脚本将在 “并行” 运行。

现在可能是你想知道的 - 串行执行,当第二个依赖于第一个。

它是用pipe机制实现的。试想一下:

long_running_script_what_produdes_lines | wc -l 

两个程序同时运行,并且wc等待来自long_running_script_what_produdes_lines输出,并且将计数的所有行。

这里还有其他IPC(进程间通信)方法(例如命名管道,信号)。

如果您需要了解其他内容,请重新说明问题。