|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jan 2009
Messaggi: 9
|
[JAVA] Lancio processi
Ciao, ho questo problema: devo lanciare l'esecuzione di un programma con java tenendo salvato un puntatore a tale processo per poterne monitorare l'andamento(se è sempre in esecuzione oppure no) e poterlo interrompere a mio piacimento. Faccio ciò tramite l'istruzione
String comando="path+eseguibile"; ProcessBuilder pb = new ProcessBuilder(comando); proc=pb.start(); Il problema è che questo programma (non so il motivo in quanto altri programmi non mi avevano mai dato questo problema, forse ci sarà qualche conflitto interno) parte solo quando termina il main oppure nel mio caso che sono dentro una web service parte solo dopo che ho stoppato l'application server. Ho cercato su internet rimedi possibili ed ho trovato questa soluzione: comandi[0]="rundll32"; comandi[1]="shell32.dll,ShellExec_RunDLL"; comandi[2]=comando; ProcessBuilder pb = new ProcessBuilder(comandi); Process proc=pb.start(); In questo modo viene avviata una shell che, dopo aver fatto partire la finestra con l'istruzione passata, muore subito. Ciò quindi è utilissimo perchè fa partire subito il mio programma, il problema è che l'oggetto proc adesso mi punta alla shell e quindi vede il processo già terminato dopo un attimo. Come posso fare ad uscire da questo problema?? Grazie Ultima modifica di IngegnerCane : 16-03-2009 alle 15:57. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Hai gia' provato con qualcosa del tipo
Process process = Runtime.getRuntime().exec("your application"...);
__________________
In God we trust; all others bring data |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Il processo esterno alla JVM che devi lanciare stampa qualcosa in output (alla consolle)?
In ogni caso prova a consultare questi thread, facile che il tuo problema sia analogo a questi. Infine questo articolo può essere di aiuto
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:46.