Sie können dies nicht in einer plattformunabhängigen Weise tun.
Unter Unix/Linux würden Sie den Systemaufruf fork()
aufrufen, der Ihren Prozess dupliziert. Mit Java bedeutet das, die gesamte JVM zu duplizieren. Dann müssten Sie herausfinden, ob es sich um den Elternprozess oder den Kindprozess handelt, den Sie anhand der Prozess-ID ermitteln können, die Ihnen der fork()
-Aufruf bietet. Wenn es der Elternprozess ist, beenden Sie. Wenn es sich um den untergeordneten Prozess handelt, müssen Sie Standardeingabe, Standardausgabe und Standardfehler schließen.
In Windows scheint es die FreeConsole
Funktion zu geben, aber ich weiß fast nichts über Windows-Programmierung.
So denkbar, könnten Sie eine JNA-Bibliothek schreiben, die herausfindet, auf welcher Plattform Sie sind, und ruft die entsprechenden Aufrufe auf, um dies zu erreichen. Aber es ist wahrscheinlich nicht die beste Idee, das Konsolenfenster beim Starten einer Java-Anwendung loszuwerden.
Fügen Sie einfach zu Ihrer Frage, was Sie versucht haben. – Billa