我正在尝试使用Java Runtime exec运行accurev命令(如下面的代码所述)。由于我遇到网络问题,所以当执行login命令时,命令会一直等待响应并且不会超时。那么我应该如何处理这个错误。
private static void accurevLogin() throws IOException {
Runtime runTime = Runtime.getRuntime();
String userName = prop.getProperty("UserName");
String password = prop.getProperty("Password");
String command = (new StringBuilder("accurev login ")).append(userName).append(" ").append(password).toString();
Process ps = null;
try {
ps = runTime.exec(command);
} catch (IOException e) {
System.out.println("Command Execution Error!");
}
/* Error handling Code */
System.out.println("ACCUREV LOGGED IN");
}
当我使用
时BufferedReader input = new BufferedReader(new InputStreamReader(ps.getInputStream()));
循环中的input.readline将继续运行,我无法检查输出。
答案 0 :(得分:1)
最好的方法是使用<script>
$('#myModal').on('show', function () {
$('div.modal-body iframe#youtube').attr('src', 'https://www.youtube.com/embed/PUcTN5ou2o0?autoplay=1&rel=0&showinfo=0');
});
$('#myModal').on('hide', function () {
$('div.modal-body iframe#youtube').attr('src', '');
});
</script>
命令的超时选项(如果可用)。
如果没有这样的选项,你应该在一个单独的Java线程中执行它,并在你选择一些超时后以编程方式中止。
以下是一个简单accurev
命令的示例:
sleep