반응형
Kotlin
-
Kotlin Multiplatform(KMP) 윈도우 환경에서 File Lock을 이용한 중복 실행 방지Java-Kotlin/Android 2025. 12. 17. 20:25
Kotlin Multiplatform(KMP)으로 윈도우 데스크톱 애플리케이션을 개발하던 중, "프로그램이 이미 실행 중이라면 경고창을 띄우고 종료"시켜야 하는 요구사항이 생겼다.안드로이드와 달리 데스크톱 환경에서는 사용자가 빌드되어 설치된 exe 파일을 더블 클릭할 때마다 새로운 프로세스가 생성된다. 이를 방지하고 Single Instance Application을 구현하는 과정과, 그 과정에서 겪었던 IOException 트러블 슈팅 경험을 공유한다. 1. 중복 실행 방지 로직에 대한 접근 방법: File Lock (파일 잠금)윈도우에서 프로세스 간 통신(IPC)이나 Mutex를 사용할 수도 있지만, JVM 환경에서 가장 간편하고 확실한 방법은 파일 락(File Lock)을 사용하는 것이다. 원리는..