【发布时间】:2011-03-05 18:01:06
【问题描述】:
我有两个脚本,分别是“S1”和“S2”。我将这些脚本执行为,
nohup S1 &
nohup S2 &
但我希望它们按顺序执行。即,S2 应仅在 S1 成功完成时执行。我该怎么做呢?我怎么知道 S1 何时完成执行?任何例子将不胜感激。谢谢。
【问题讨论】:
标签: linux unix shell aix background-process
我有两个脚本,分别是“S1”和“S2”。我将这些脚本执行为,
nohup S1 &
nohup S2 &
但我希望它们按顺序执行。即,S2 应仅在 S1 成功完成时执行。我该怎么做呢?我怎么知道 S1 何时完成执行?任何例子将不胜感激。谢谢。
【问题讨论】:
标签: linux unix shell aix background-process
您可以按顺序执行它们,如下所示:
(nohup S1 && nohup S2) &
试试
(echo 1 && sleep 1 && echo 2) &
double ampersand operator is described here。
请注意,当使用&& 时,S2 仅在 S1 完成“成功”(返回代码 0)时运行。这似乎是你想要的。如果您希望S2 运行而不管S1 是否成功,请使用; 而不是&&。
【讨论】: