2009-05-26 9 views
9

Mam uchwyt do instancji Java Process i związanych z nią strumieni. To program konsolowy. Chciałbym symulować sekwencję przerwania. W systemie Windows jest to Ctrl-C. Czy to możliwe bez tubylców?Jak wysłać sekwencję kluczy przerwania do procesu Java?

Powód: program konsoli jest konsolą wiersza polecenia, sterującą maszyną wirtualną dla innego języka. Użytkownik może uruchomić inny program z tego programu konsoli. Podczas działania programu sekwencja przerwań przerywa wykonywanie programu bazowego i powoduje przejście programu konsoli do trybu debugowania.

Zajmujemy się obsługą tego debugera konsoli w Javie, aby mógł on być sterowany przez IDE (Eclipse). Wysłanie sekwencji przerwań będzie równoznaczne z wciśnięciem "suspend" w debugerze Eclipse.

Odpowiedz

4

Prawdopodobnie chcesz zajrzeć do SendSignal. Spowoduje to wysłanie Ctrl-Break do procesu Java. Zakładam, że twoim celem jest spowodowanie zrzutu stosu, który zrobi CTRL-C (sygnał 3 aka SIGQUIT) dla działającego procesu Java?

+0

@Ddie: Dzięki za cynk. Zaktualizowałem swój post, aby dodać więcej informacji o tle. Moje intencje nie były dokładnie tym, co opisałeś. –

+0

@Ddie: świetna wskazówka! Pracował jak urok! –

Powiązane problemy