Tôi bắt một tín hiệu INT trong java sử dụng đoạn mã sau:Làm thế nào để bẫy một SIGNAL trong một ứng dụng java khởi tạo bằng một kịch bản bash
Signal.handle(new Signal("INT"), new SignalHandler() {
public void handle(Signal sig) {
log.warn("Received SIGINT signal. Will teardown.");
task.tearDown();
// Force exit anyway
System.exit(1);
}
});
Khi tôi đang sử dụng java -jar file.jar
để bắt đầu ứng dụng của tôi, tôi có thể nắm bắt được tín hiệu được gửi cùng với kill -INT PID
.
Nếu tôi gọi java -jar file.jar &
(jvm chạy ẩn), tôi không thể nhận tín hiệu được gửi đi với kill -INT
.
Bất kỳ ý tưởng nào?
Cảm ơn.
Quy trình java sẽ làm gì khi bạn sử dụng lệnh kill -INT? Nó chấm dứt, hoặc tiếp tục chạy? –