2009-05-26 20 views
9

Tengo un identificador para una instancia de Java Process y sus flujos asociados. Es un programa de consola. Me gustaría simular una secuencia de salto. En Windows esto es Ctrl-C. ¿Es esto posible sin nativos?¿Cómo se envía la secuencia de teclas de interrupción a un proceso de Java?

La razón para hacer esto: el programa de la consola es una consola de línea de comandos, controlando una máquina virtual para otro idioma. El usuario puede ejecutar otro programa desde este programa de consola. Mientras se ejecuta un programa, la secuencia de interrupción interrumpirá la ejecución del programa subyacente y hará que el programa de la consola pase al modo de depuración.

Estamos implementando Java este depurador de consola para que pueda ser conducido a través de un IDE (Eclipse). Enviar la secuencia de interrupción será el equivalente a presionar "suspender" en el depurador de Eclipse.

Respuesta

4

Es probable que desee consultar SendSignal. Esto enviará un ctrl-Break a un proceso de Java. Supongo que su objetivo es causar un volcado de pila, que un CTRL-C (señal 3 aka SIGQUIT) hará para un proceso en ejecución de Java?

+0

@Eddie: Gracias por la propina. Actualicé mi publicación para agregar más información de fondo. Mi intento no fue exactamente lo que describes. –

+0

@Eddie: gran consejo! ¡Trabajado como un encanto! –

Cuestiones relacionadas