Rechercher : dans
Par :

Java - Process

Dernière réponse le 17 déc 2008 à 12:27:35 lil_neo, le 16 déc 2008 à 16:45:55 
 Signaler ce message aux modérateurs

Bonjour,
je suis parvenu à lancer un processus de la manière suivante : Process pr = Runtime.getRuntime().exec(commande);
maintenant j'aimerais bien pouvoir killer ce processus au bout d'un certain temps.
Comment dois-je m'y prendre ? Une idée ? Merci d'avance.

Configuration: Windows Vista
Firefox 3.0.4

Meilleures réponses pour « Java Process » dans :
[Firefox] plugin Java Jre de Sun VoirA) Les différentes variantes Java chez Sun B) Installation sous Mandriva Limited Edition 2005 ETAPE 1 ETAPE 2: Création du lien symbolique C) Installation sous debian lenny D) Installation sous ubuntu hardy heron A) Les différentes...
Installer Java sous Ubuntu VoirPar défaut, Firefox n'est pas fourni avec Java. Voici comment procéder pour l'installer: Ouvrez un terminal (Menu Applications > Accessoires > Terminal) et tapez: sudo aptitude install sun-java6-jre sun-java6-plugin ou sudo aptitude install ...
[Logiciel libre] Installation firefox 2.0+java+flash VoirInstallation firefox 2.0+java+flash en ligne de commande A. INTRODUCTION B. INSTALLATION FIREFOX 1. Création d'environnement 2. Téléchargement et vérification de la signature 3. Installation de Firefox 4. Démarrage de l'application C....
Télécharger Java Runtime Environment VoirJava Runtime Environment (JRE) installe la machine virtuelle Java, permettant de jouer en ligne, de discuter avec des personnes dans le monde entier, de calculer les intérêts de votre prêt immobilier ou de visualiser des images en 3D. Ces...
Télécharger Process Explorer VoirProcess Explorer est un gestionnaire des tâches évolué. Il permet de voir de nombreuses informations: savoir quel programme a lancé quel autre. connaître la ligne de commande complète de lancement d'un programme (avec les options) savoir à...
Java - Les types de données VoirLes primitives Java est un langage orienté objet, c'est-à-dire que les éléments manipulés sont des classes, ou plus exactement des objets, c'est-à-dire des instances de classes. Toutefois ces objets contiennent des données possèdant un type (et...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
BPM - Business Process Management VoirIntroduction au BPM On appelle « BPM » (Business Process Management, traduisez littéralement "gestion des processus métiers ») l'approche consistant à modéliser informatiquement les processus métiers de l'entreprise, aussi bien dans leur aspect...

1

Marco la baraque, le 16 déc 2008 à 16:51:19

Bonsoir,
Il faut créer un timer. Une fois exécuté, tu appelles pr.destroy().

Cordialement, rtfm and jfgi

Répondre à Marco la baraque

2

lil_neo, le 17 déc 2008 à 10:59:13
  • +1

Merci, c'était une piste intéressante mais malheureusement pas tout à fait adaptée à mon problème.
En fait je me trouve dans la même situation que dans ce post : http://java.ittoolbox.com/...
("réponse" apportée : http://java.ittoolbox.com/... )
Donc si j'ai bien compris, avec le destroy() je kill cmd mais pas le process que je lance avec...

Répondre à lil_neo

3

Marco la baraque, le 17 déc 2008 à 12:04:15

Bonjour,
Effectivement, l'instance de Process que tu manipules est le process qui a été créé par Java.
Dans ton exemple, tu crées un process fils (cmd), qui a donc ton programme pour parent. Ensuite, c'est cmd qui exécute la commande, ce qui a pour effet de créer un autre processus dont cmd est parent.

Quand tu détruis ton process, c'est donc cmd qui est détruit (je n'ai pas trouvé de moyen de récupérer le process créé par cmd en java, mais je trouve assez ridicule de vouloir lancer la commande via cmd plutôt que via java, ça n'apporte rien).

Selon moi, la seule manière, c'est de faire appel (toujours dans ton cmd) aux commandes système permettant de récupérer le pid du process à tuer (tasklist/taskkill sous windows, ps/kill sous linux...). L'inconvénient (qui n'existe pas si tu crées tes process directement en Java), c'est que c'est un code qui n'est pas portable du tout (il faut donc créer une interface et implémenter les classes pour chaque architecture d'OS).

Cordialement, rtfm and jfgi

Répondre à Marco la baraque

4

 lil_neo, le 17 déc 2008 à 12:27:35

Si je suis passé par cmd, c'était à l'origine pour avoir le choix de l'OS. Mais réflexion faite je n'ai besoin que de windows, donc effectivement je n'ai qu'a lancer directement mon programme !
Next step : utiliser tout ça avec Oracle !
Merci de ton aide !

Répondre à lil_neo
Collection CommentÇaMarche.net