2012-01-20 11 views
9

W Eclipse, po uruchomieniu programu znajduje się wspaniały czerwony przycisk, aby go zatrzymać. Zastanawiam się, jak to się robi. Czy Eclipse po prostu brutalnie zabija proces odpowiadający, czy też dokonuje pewnej bezpiecznej weryfikacji stanu procesu, zanim delikatnie poprosi go o zakończenie działania?W jaki sposób Eclipse kończy działanie uruchomionego programu?

Odpowiedz

7

Jak dokładnie zaćmienie może wykonać "weryfikację stanu procesu" lub poprosić programy o zakończenie działania?

Musiałby to być część standardowego interfejsu API języka Java, które wszystkie programy Java musiałyby wdrożyć. Nic takiego nie ma. Ergo: Zaćmienie nie może tego zrobić. Wszystko, co można zrobić, to wysłać POSIX SIGTERM, ale ponieważ nie ma interfejsu Java API, który mógłby zareagować na to, nie może zostać użytecznie złapany, co prowadzi do twardego zakończenia procesu.

8

Tak, Eclipse wysyła wiadomość o zabiciu do procesu programu. Jest to brutalne zamknięcie.

Powiązane problemy