2009-05-26 8 views
9

Ho un handle per un'istanza di processo Java e i relativi flussi associati. È un programma per console. Mi piacerebbe simulare una sequenza di interruzioni. Su Windows questo è Ctrl-C. È possibile senza nativi?Come inviare una sequenza di interrupt a un processo Java?

La ragione per fare ciò: il programma della console è una console da riga di comando, che controlla una macchina virtuale per un'altra lingua. L'utente può eseguire un altro programma da questo programma di console. Mentre un programma è in esecuzione, la sequenza di interruzione interromperà l'esecuzione del programma sottostante e farà in modo che il programma della console entri in modalità di debug.

Stiamo eseguendo il wrapping Java di questo debugger della console in modo che possa essere guidato tramite un IDE (Eclipse). L'invio della sequenza di interruzione sarà equivalente alla pressione di "suspend" nel debugger di Eclipse.

risposta

4

Probabilmente vorrete esaminare SendSignal. Questo invierà un ctrl-Break a un processo Java. Presumo che il tuo obiettivo è quello di causare un dump dello stack, che farà un CTRL-C (segnale 3 chiamato SIGQUIT) per un processo Java in esecuzione?

+0

@Eddie: Grazie per il suggerimento. Ho aggiornato il mio post per aggiungere ulteriori informazioni di background. Il mio intento non era esattamente quello che hai descritto. –

+0

@Eddie: ottimo suggerimento! Ha funzionato come un fascino! –

Problemi correlati