2009-05-26 18 views
9

J'ai un handle pour une instance Java Process et ses flux associés. C'est un programme de console. Je voudrais simuler une séquence de pause. Sur Windows, c'est Ctrl-C. Est-ce possible sans les autochtones? La raison pour cela: le programme console est une console de ligne de commande elle-même, contrôlant une machine virtuelle pour une autre langue. L'utilisateur peut exécuter un autre programme à partir de ce programme de console. Pendant qu'un programme est en cours d'exécution, la séquence de rupture interrompt l'exécution du programme sous-jacent et amène le programme de la console à passer en mode débogage.Comment envoyer une séquence de touches d'interruption à un processus Java?

Nous emballons Java dans ce débogueur de console pour qu'il puisse être piloté via un IDE (Eclipse). Envoyer la séquence de rupture équivaudra à appuyer sur "suspendre" dans le débogueur Eclipse.

Répondre

4

Vous voulez probablement regarder dans SendSignal. Cela enverra un ctrl-Break à un processus Java. Je suppose que votre but est de provoquer un vidage de pile, ce qu'un CTRL-C (signal 3 aka SIGQUIT) fera pour un processus Java en cours d'exécution?

+0

@Eddie: Merci pour le conseil. J'ai mis à jour mon message pour ajouter plus d'informations de fond. Mon intention n'était pas exactement ce que vous avez décrit. –

+0

@Eddie: bon conseil! Travaillé comme un charme! –