mon code va comme ceci:processus tuant java après une période de temps
Runtime rt = Runtime.getRuntime();
// cmd == "cmd.exe /C java =Xms2M =Xmx16M Sth"
Process proc = rt.exec(cmd);
Maintenant, je veux tuer ce processus après une seconde, et obtenir sa sortie et l'erreur dans une des variables de chaîne.
Comment faire?
Dans mon cas: J'ai une boucle infinitive dans la classe compilée Sth. Je commence et ensuite, après une seconde, je veux le tuer.
// Je le teste sur Win XP puis sur Debian.
thx Tzim
Et si le processus se fermer avant le 1 sec? – tzim
Et apparemment je me suis fait pas clair. Votre code ne ferme pas mon application. Dans mon exemple, nous parlons de boucle infinitive dans la classe Sth. Donc, après une seconde, il y a toujours un Sth qui mange mon CPU. – tzim
@tzim L'appel à 'proc.destroy' va le tuer. Si le processus peut se fermer, vous devez saisir la sortie en temps réel, au lieu de tout à la fin. Mais puisque vous avez dit qu'il y a une boucle infinie, cela ne devrait pas poser de problème. –