2009-05-26 10 views
9

私はJava Processインスタンスとそれに関連するストリームのハンドルを持っています。これはコンソールプログラムです。私はブレークシーケンスをシミュレートしたいと思います。 WindowsではCtrl-Cです。これは原住民なしで可能ですか?Javaプロセスに割り込みキーシーケンスを送信する方法は?

理由:コンソールプログラムはコマンドラインコンソールで、別の言語の仮想マシンを制御します。ユーザーはこのコンソールプログラムから別のプログラムを実行できます。プログラムが実行されている間、ブレークシーケンスは、基礎となるプログラムの実行を中断し、コンソールプログラムをデバッグモードにする。

このコンソールデバッガをIDE(Eclipse)経由で駆動できるようにJavaラッピングしています。ブレークシーケンスを送信することは、Eclipseデバッガで「サスペンド」を押すことと同じです。

答えて

4

おそらくSendSignalを調べたいと思うでしょう。これはctrl-BreakをJavaプロセスに送信します。あなたの目標は、実行中のJavaプロセスに対してCTRL-C(シグナル3、別名SIGQUIT)が行うスタックダンプを引き起こすことだと思いますか?

+0

@Eddie:チップをありがとう。背景情報を追加するために投稿を更新しました。私の意図は、あなたが説明したものとまったく同じではありません。 –

+0

@Eddie:素晴らしいヒント!チャームのように働いた! –

関連する問題