Nếu bạn đang cố gắng để giết quá trình chính mã java của bạn bắt đầu, tôi khuyên bạn nên sử dụng System.exit()
. Những lợi ích được giải thích ở đây: when should we call system exit in java.
Về cơ bản, System.exit()
sẽ chạy các móc tắt sẽ đảm bảo bất kỳ quy trình không phải daemon phụ thuộc nào có thể không hoàn thành công việc của chúng bị giết trước khi quá trình của bạn bị giết. Đây là cách sạch sẽ để làm điều đó.
Nếu quá trình này không phải của bạn là, bạn sẽ phải dựa vào hệ điều hành để làm tác phẩm này với bạn như được giải thích trong câu trả lời này: Killing a Process Using Java
Trong trường hợp đó gợi ý của bạn của Runtime.exec()
một kill trên * nix sẽ là một cách tốt để đi.
Bây giờ như đối với destroyForcibly()
, bạn thường sẽ gọi đó là trên một quá trình con sinh ra bởi mã java của bạn mà có lẽ đã bắt đầu với ProcessBuilder.start()
hoặc Runtime.exec()
Đây có phải là quá trình của riêng bạn quá trình api hoặc quá trình khác? –
là một quá trình java hay bất kỳ quá trình nào? – Derlin
Đó là một quá trình không phải Java bên ngoài, nhưng cảm ơn cả hai cách Shitsu – Kariamoss