2011-06-03 4 views
5

tôi đang thực hiện một chương trình bên ngoài mà chạy dọc Java sử dụng này:Dừng chương trình bên ngoài khi chương trình Java được dừng

Process p = Runtime.getRuntime().exec("/path/to/binary"); 

Khi tôi dừng các ứng dụng Java, các chương trình bên ngoài tiếp tục chạy nhưng tôi muốn điều này dừng lại.

+2

thể trùng lặp của [Làm thế nào để tôi nhận được loại bỏ các tiến trình con Java khi ứng dụng Java của tôi thoát/bị lỗi?] (http://stackoverflow.com/questions/261125/how-do-i-get-rid-of-java-child-processes-when-my-java -ứng dụng thoát-tai nạn) –

Trả lời

4

Để kích hoạt tính năng tắt máy, bạn có thể thêm móc tắt máy vào ứng dụng Java của mình. Xem Runtime.addShutdownHook().

Để thực hiện việc tắt máy, bạn có thể giao tiếp với bên ngoài quá trình một yêu cầu để ngăn chặn một cách duyên dáng, hoặc gọi Process.destroy()