2015-09-05 1 views

Répondre

0

Je ne suis pas sûr de la autosys Commend mais si vous pouvez exécuter à l'aide du Runtime alors vous devez voir la sortie de l'exécution de la commande. Si autosys retourne quelque chose lors de l'exécution, vous l'obtiendrez en InputStream ou en ErrorStream en cas d'erreur.

Essayez quelque chose comme ceci:

public static void printStream(InputStream is, String type){ 
try 
    { 
     InputStreamReader isr = new InputStreamReader(is); 
     BufferedReader br = new BufferedReader(isr); 
     String line=null; 
     while ((line = br.readLine()) != null) 
      System.out.println(type + ">" + line);  
    } catch (IOException ioe){ 
      ioe.printStackTrace(); 
    } 
} 

public static void main(String args[]) 
{ 
    String cmd = "command to execute"; 
    Process proc = Runtime.getRuntime().exec(cmd); 
    printStream(proc.getInputStream(), "OUTPUT"); 
    printStream(proc.getErrorStream(), "ERROR"); 
} 
0

Process a une méthode exitValue() pour obtenir la valeur de sortie pour le sous-processus. exitValue

Exemple:

Runtime rt = Runtime.getRuntime(); 
Process process = rt.exec("ls -al"); 
process.waitFor(); 
System.out.println(process.exitValue()); 
+0

s'il vous plaît assurez-vous que exitValue est commande spécifique. vérifiez votre programme qui exitValue retournera pour le succès ou l'erreur. Normalement 0 pour le succès et non nul pour l'erreur. Mais en cas de commande ls, il sera 0. – Garry