Java - obtenir le PID de processus externe par ligne de commande dans Windows 7
J'ai Windows 7 32 bits, avec Java:
Comment puis-je obtenir le PID d'un processus en ligne de commande dans Windows 7?
J'ai envie de tuer une application dont je ne peut véritablement identifier par la ligne de commande qui il a couru. Nous avons plusieurs applications Java en cours d'exécution sur la machine. J'ai besoin d'arrêter spécifiques.
Pour être exact: j'ai besoin de trouver tomcat qui est géré par catalina.bat
. Que pensez-vous est la meilleure façon de le faire?
Je sais de tasklist, mais il ne semble pas être capable de faire une requête de la ligne de commande qui a lancé le processus. Trouver java.exe
ne m'aide pas. J'ai essayé de chercher quelque chose d'utile comme pgrep/pkill pour Windows, sans succès.
OriginalL'auteur annih | 2012-07-27
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
jps -lv
de commande pour déterminer les processus java par les options de ligne de commande. jps est utilitaire inclus dans beaucoup de up-to-date de Jdk.OriginalL'auteur Konstantin V. Salikhov
Essayer dans une invite de commande:
Où l'APPLICATION est le nom du programme. Cette commande sera de retour tous les services qui correspondent.
Ensuite, vous pouvez exécuter
SC QUERYEX APP
et ce sera le retour de l'état et le numéro de PID.Une fois que vous avez le PID:
Où ### est le PID
OriginalL'auteur user5522
Java, obtenir le PID du processus en cours d'exécution dans Windows
Cela doit fonctionner sur
Linux
,OSX
,Windows
, et de la JVM HotSpot.De l'appeler comme ceci:
Pour moi, il imprime le processID:
PID: 5728
Sources:
Comment un programme Java obtenir son propre ID de processus?
http://boxysystems.com/index.php/java-tip-find-process-id-of-running-java-process/
OriginalL'auteur Eric Leschinski
Si vous avez juste besoin de tuer un spécifique tomcat à partir d'une application java, pourquoi ne pas le codage d'un simple servlet qui s'exécute à l'intérieur de chaque tomcat qui responde à une requête get avec une chaîne de caractères à l'identifier. Ensuite, utilisez une autre servlet pour exécuter quelque chose comme:
OriginalL'auteur ricardoespsanto
Enfin trouvé quelque chose. La solution pour moi est appelé wmic (Windows Management Instrumentation ligne de commande). Ce bel outil est intégré à Windows 7 Pro (la mienne) et peut-être d'autres versions de Windows. Il offre une très grande variété d'actions comme la liste de toutes les tâches en cours d'exécution avec tous les détails que vous pouvez imaginer (comme leurs correspondants de la ligne de commande), diverses informations sur le matériel, etc. Exactement ce dont j'ai besoin.
OriginalL'auteur annih