从getRuntime()。exec获取信息帽子Java应用程序挂断

时间:2018-11-02 11:46:42

标签: java exec

到目前为止,我的代码:

public static void getTasklist(Table table, Login login){
    for(TableItem tableItem : table.getItems()){            
        try {
            if(tableItem.getChecked()){
                String command = ("cmd.exe /k tasklist /s " + tableItem.getText(3) + " /U .\\" + SettingsManager.getSetting(login, "Current-User") + " /p " + SettingsManager.getSetting(login, SettingsManager.getSetting(login, "Current-User")+"-PW"));
                Process p = Runtime.getRuntime().exec(command);

                BufferedReader in = new BufferedReader(
                        new InputStreamReader(p.getInputStream()));
                String line = null;
                while ((line = in.readLine()) != null) {

                    System.out.println(line);
                }                       
            }
        } 
        catch (IOException e) {
        }   
    }           
}

我想做什么:从计算机获取任务列表信息并将其打印到控制台(可能以后将其打印到窗口)。来自计算机的主机名来自检查表(tableItem.getText(3)),凭据来自我称为settingsmanagerSettingsManager.getSetting....)的东西。

ATM的工作原理:我得到了信息,并且将其打印到控制台,但是在最后一行之后,应用程序挂断了。。我认为while循环永远不会中断,但是我不确定。.

0 个答案:

没有答案