Không có ví dụ nào trong Java, nhưng bạn có thể tạo tệp pid trong thư mục tạm thời (hoặc/var/run). (Và làm cho nó File.deleteOnExit()
để làm sạch nó anyway trên lối ra)
Để đưa cửa sổ hiện tại lên trên, bạn có thể tự mình thông báo cho chương trình, đặt tên là pipe, unix socket hoặc java remote method call, v.v ... & bẩn là viết một tệp nhỏ, nói $TEMP/foobar-app.bring-to-top
và chương trình nên thăm dò định kỳ tệp nhỏ này, nếu có tồn tại, hãy đưa cửa sổ lên trên và xóa tệp nhỏ này.
Tôi đoán Java không thể xử lý tín hiệu, tức là, kill -HUP PID
có thể không hoạt động đối với các ứng dụng Java. Ngay cả khi nó có thể, không phải mọi hệ điều hành đều có tín hiệu.
Nguồn
2011-11-22 08:00:10
http://stackoverflow.com/questions/2528844/only-one-swing-frame-window-opened-at-time – onurbaysan
@mKorbel không cần đăng bất kỳ mã nào, câu hỏi rõ ràng và tự chứa. Câu trả lời của Judas Imam là hoàn hảo. – alf
Các cách khác để triển khai ứng dụng ví dụ đơn lẻ: http://stackoverflow.com/questions/177189/how-to-implement-a-single-instance-java-application – ozhan