Cụm từ khóa bạn cần ở đây là "làm daemon một quy trình". Bao giờ tự hỏi tại sao các quá trình máy chủ hệ thống thường kết thúc bằng 'd' trên Linux/Unix? Chữ 'd' là viết tắt của "daemon", vì lý do lịch sử.
Vì vậy, quá trình tách và trở thành một quá trình máy chủ thực sự được gọi là "daemonization".
Điều này hoàn toàn chung chung và không chỉ giới hạn ở các quy trình Java.
Có một số tác vụ bạn cần làm để trở thành một quy trình daemon thực sự độc lập. Chúng được liệt kê trên trang Wikipedia.
Hai điều chính bạn cần phải lo lắng về việc là:
- Detach từ quá trình cha mẹ
- tách khỏi tty đã tạo ra quá trình
Nếu bạn google cụm từ "daemonizing một quá trình ", bạn sẽ tìm thấy một loạt các cách để thực hiện việc này và một số chi tiết khác về lý do tại sao cần thiết.
Hầu hết mọi người chỉ sử dụng một tập lệnh shell nhỏ để bắt đầu quá trình java và sau đó hoàn thành lệnh java bằng '&' để khởi động ở chế độ nền. Sau đó, khi quá trình khởi động kịch bản thoát, quá trình java vẫn đang chạy và sẽ được tách ra khỏi quá trình tập lệnh đã chết.
http://stackoverflow.com/questions/2151214/is-it-possible-to-double-fork-a-process-in-java – tMC