2009-05-15 12 views
26

Il semble que dans Eclipse, si vous voulez envoyer ctrl + c à un processus que vous ne pouvez pas. Le bouton Terminer sur la console tue simplement le processus en cours sans exécuter les crochets d'arrêt. Je sais que Java lui-même ne permet pas d'envoyer un signal à un autre processus.'Quitter' (ctrl + c) un processus de la console - Eclipse vs Intellij

Cependant, il semble que intellij idea dispose d'un bouton 'exit' à côté de son bouton 'stop' qui permet aux hooks d'arrêt de fonctionner. Est-ce que quelqu'un peut me dire comment intellij fait cela?

J'ai besoin d'envoyer ctrl + c de mon programme à un autre processus Java.

+1

Je ne connaissais pas le bouton 'exit'. +1 – Shadoninja

Répondre

1

Je crois comprendre que cela se produit uniquement sur Windows avec Eclipse. Voir aussi: https://bugs.eclipse.org/bugs/show_bug.cgi?id=38016

En ce qui simplement tester vos crochets, vous pouvez le faire en appelant System.exit() et je suppose que vos utilisateurs ne seront pas exécuter l'application en utilisant Eclipse il est donc autorisé à compter sur elle à travailler pour eux .

4

Intellij utilise une bibliothèque native pour envoyer un signal sous Windows et la commande kill sur Unix.
Here is a source code

Avez-vous dit que vous ne pouvez pas envoyer un signal en Java. Vous devez donc exécuter du code natif.
Look at the question here

Questions connexes