在我的 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
这将等到两者都完成。如果第二个在第一个之前完成,等待将立即返回。
关于c - 我怎样才能等到指定的 "xterm"完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18101731/