2009-07-20 9 views
16

Ho notato che quando avvio Netbeans viene visualizzato nel task manager come netbeans.exe poiché tutte le mie applicazioni Java si presentano come java.exe o javaw.exe.Come posso assegnare alla mia applicazione Java un nome di processo univoco?

Come posso cambiarlo in modo che i nomi dei processi vengano visualizzati come myapp.exe?

+0

ho fatto una domanda simile: http://stackoverflow.com/questions/1057247/how-can-i-set-the-process-name-for-a-java-program – Mnementh

risposta

17

Il nome del processo è il nome della JVM. Quindi se rinomini il jvm hai un altro nome di processo. Ci sono alcuni strumenti che possono farlo per te. Ad esempio Launch4J

5

Netbeans ed Eclipse vengono entrambi forniti con un file .exe che a sua volta avvia una JVM. L'exe probabilmente non fa nulla dopo aver lanciato la VM. Presumo anche il javaw.exe di NetBeans nel Task Manager, sospetto.

Quindi è necessario scrivere un exe nativo (utilizzando alcuni strumenti di Windows) che fa una cosa simile.

+0

Credo che javaw.exe sia anche il programma di avvio Eclipse. –

7

Non facilmente. Il modo più semplice (ma non bello!) Sarebbe quello di copiare semplicemente java.exe (solo 68k sul mio sistema, quindi forse pratico!)

Se sei preoccupato di identificare quale processo java è quale (ad es. consumo di memoria/CPU, ecc.), utilizzare lo strumento standard per identificare i processi Java

+0

Ho fatto questo con java.exe che uso per eseguire eclipse con - quindi posso facilmente individuare se eclipse sta masticando le risorse o il mio programma. – RodeoClown

+0

Una copia di java.exe. Ma come si cambia il nome del processo? – Yster

+0

Forse copia java.exe su myjava.exe (per i principianti ...) –

9

IMO l'opzione migliore è scegliere uno dei tanti launcher open source. Forniscono tutti un contenitore di distribuzione migliore rispetto a java.exe e un file batch.

ho compilato una lista di loro, dopo una breve ricerca su google (in nessun ordine particolare e non può essere esaustivo):

(Full Disclosure: Io lavoro su winrun4j)

+0

winRun4j --è disponibile come plugin per eclipse e molto facile da gestire. Anche provato launch4j è buono ma non può cambiare il nome di myApp.exe attraverso di esso.Anche se grazie per la lista ordinata dei lanciatori open source. –

+0

WunRun4J e JSmooth non sembrano più essere mantenuti –

0

Ci sono principalmente 2 approcci: uno è come già descritto: utilizzando strumenti come Launch4j, WinRun4J per creare launcher nativi di Windows.

Un altro approccio che sembra migliore è utilizzare Apache Procrun per avvolgere l'applicazione java come servizio di Windows. Durante il processo di installazione, possiamo dare al processo un nome significativo come OurApp.exe.

Tutto ciò di cui abbiamo bisogno è rinominare prunsrv.exe in OurApp.exe e sostituire ogni occorrenza di prunsrv.exe nei nostri script di installazione | start | stop | disinstallazione su MyApp.exe.

+ info Da Using Apache Procrun to Rename Process Name of a Java Program in Windows

Problemi correlati