Thử đi:
alias mp='java -jar myprogram.jar & && kill -SIGHUP $(echo $$)'
Tôi thực sự đã không thử toàn bộ lệnh của bạn, nhưng thêm -SIGHUP
vào lệnh kill đã đóng thiết bị đầu cuối của tôi.
Từ trang Wikipedia về tín hiệu Unix :
Tín hiệu SIGHUP được gửi đến một quy trình khi thiết bị đầu cuối điều khiển của nó bị đóng. Ban đầu nó được thiết kế để thông báo cho quá trình thả dòng nối tiếp (cúp máy). Trong các hệ thống hiện đại, tín hiệu này thường có nghĩa là thiết bị đầu cuối giả hoặc thiết bị ảo đã bị đóng. [3] Nhiều trình nền sẽ tải lại các tệp cấu hình của chúng và mở lại các tệp logfile của chúng thay vì thoát khi nhận được tín hiệu này. [4] nohup là một lệnh để thực hiện một lệnh bỏ qua tín hiệu.