Tôi có một ứng dụng java sử dụng ProcessBuilder
để chuẩn bị một lệnh hệ điều hành và cung cấp cho tôi một đối tượng Process
. (Lệnh os thực tế là rsync trên ssh sử dụng Cygwin).Java ProcessBuilder process.destroy() không giết chết các tiến trình con trong winXP
Điều này hoạt động tốt trong Windows, tuy nhiên nếu tôi muốn ngừng quá trình sử dụng process.destroy()
, nó sẽ không giết quá trình ssh và rsync con ..... Tôi phải tự tay xóa chúng bằng trình quản lý tác vụ của cửa sổ ..
Có thể lấy số OutputStream
của quy trình và gửi ctrl-c bằng cách nào đó trước khi tôi gọi destroy();
không?
Nếu bất kỳ ai có bất kỳ ý tưởng nào về cách giải quyết, điều đó thật tuyệt vời. Cảm ơn, D
Ctrl-C là một hàm đầu cuối gửi tín hiệu (SIGTERM?) Đến id tiến trình. Vì vậy, để mô phỏng rằng bạn cần quá trình id và để có thể gửi một tín hiệu –