2009-05-15 7 views
26

Es scheint, dass in Eclipse, wenn Sie Strg + C an einen Prozess senden möchten, können Sie nicht. Die Schaltfläche "Beenden" auf der Konsole beendet nur den laufenden Prozess, ohne die Shutdown-Hooks auszuführen. Ich weiß, dass Java selbst es nicht erlaubt, ein Signal an einen anderen Prozess zu senden.'Exiting' (Strg + C) ein Prozess von Konsole - Eclipse vs Intellij

Es scheint jedoch, dass intellij Idee einen 'Exit'-Button neben dem' Stop'-Button hat, der Herunterfahren-Hooks erlaubt zu laufen.

Kann mir jemand sagen, wie intellij das macht?

Ich muss ctrl + c von meinem Programm zu einem anderen Java-Prozess zu senden.

+1

Ich wusste nichts über den 'Exit' Button. +1 – Shadoninja

Antwort

1

Es ist mein Verständnis, dass dies nur unter Windows mit Eclipse passiert. Siehe auch: https://bugs.eclipse.org/bugs/show_bug.cgi?id=38016

Soweit nur Ihre Haken testen Sie können es durch System.exit() aufrufen und dann nehme ich an Ihre Benutzer die Anwendung mit Eclipse nicht laufen, so dass es in Ordnung ist auf sie die für sie arbeiten zu zählen .

4

Intellij verwenden eine native Bibliothek, um ein Signal unter Windows und den Befehl kill unter Unix zu senden.
Here is a source code

Haben Sie gesagt, Sie können kein Signal in Java senden. Sie müssen also nativen Code ausführen.
Look at the question here