在我的c-shell文件中,我做了如下的事情:
xterm -e“source xxxx0”&
xterm -e“source xxxx1”&
等待
码….
在“等待”之后的代码将在两个xterm完成后执行。
但它也给出了问题。 如果我有一些ps打开,就像由geditn打开的txt文件一样,或者我打开eclipse,它会挂在那里,因为“等待”正在等待所有的工作完成。
那么我怎么才能让“等待”只等待那两个xterm的工作。
换句话说,我希望这两个“xterm”同时运行。 而他们都完成后,代码可以继续。 我该怎么做?
非常感谢你
告诉wait
它应该等待的进程ID:
xterm ... & pid1=$! xterm ... & pid2=$! wait $pid1 $pid2
这是假设你使用一个shell wait
支持多个参数(bash,zsh,…)。 如果你使用sh来实现可移植性,那么你必须做两个等待:
wait $pid1 wait $pid2
这将等待直到完成。 如果第二个在第一个之前完成,等待将立即返回。