在我的 JSF2.0 网络中,我在后台一次调用一个线程中的一些 shell 脚本。我需要等到所有这些程序都被成功调用。以下是代码片段-
ExecutorService taskExecutor = Executors.newSingleThreadExecutor();
for (String script : scriptList){
taskExecutor.execute(new Runnable() {
@Override
public void run() {
try {
log.info("Trying to start script " +script);
startScript(program);
} catch (Exception ex) {
log.error("Exception ." + ex.getMessage());
}
}
});
}
taskExecutor.shutdown();
try {
taskExecutor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
} catch (InterruptedException e) {
log.error("InterruptedException ." + e.getMessage());
}
// Now I can proceed further can call other methods
我从上面的代码运行的 shell 脚本stdout
在运行时显示。我想在后台一一调用脚本而不捕获它们的stdout
. 我不想等到他们完成。只调用信号。