.LOCK 파일이란?
LOCK 파일은 파일 또는 일부 장치를 잠긴 것으로 표시하기 위해 응용 프로그램 및 운영 체제에서 사용하는 이름이 변경된 파일입니다. 이것은 파일을 사용하고 있는 응용 프로그램에서 비어 있지 않은 한 파일을 사용하지 않도록 다른 응용 프로그램에 지시합니다. 대부분의 경우 이러한 잠금 파일은 비어 있지만 다른 경우에는 속성 및 설정과 같은 잠금 관련 정보가 포함될 수 있습니다.
때때로 .lock 파일은 Microsoft의 .NET Framework에서 데이터베이스 파일의 잠금 복사본을 만드는 데 사용됩니다. 이러한 경우 데이터베이스 파일의 복사본이 .lock 확장자로 열립니다. 이렇게 하면 다른 사용자가 파일을 사용하는 동안 사용자가 파일을 변경할 수 없습니다.
LOCK 파일 형식 - 추가 정보
LOCK 파일은 각 응용 프로그램에서 생성되며 해당 파일 형식은 응용 프로그램에 따라 다릅니다. 이러한 잠금 파일은 텍스트 및 바이너리 파일 형식으로 저장할 수 있습니다.
잠금 파일이 있으면 해당 리소스에 액세스하려는 여러 파일에 대한 리소스의 동시 액세스가 방지됩니다. 원본 파일의 복사본은 이름 뒤에 .lock 확장자가 추가되어 생성됩니다. 이는 다른 응용 프로그램이 파일에 대한 읽기 전용 액세스 권한을 갖도록 지시합니다. 예를 들어, resource.dat는 resource.data.lock이 됩니다.
Ruby 프로그래밍 언어의 경우 gemfile.lock 파일을 볼 수 있습니다. 여기에서 Bundler가 설치된 정확한 버전을 기록합니다. 따라서 프로젝트/라이브러리가 다른 시스템으로 이동할 때 실행 중인 번들은 Gemfile에서 정확한 관련 버전을 찾습니다.
Linux에서 파일 잠금
Linux는 권고 잠금과 필수 잠금의 두 가지 유형의 파일 잠금을 지원합니다.
Advisory Locks: 적용되지 않는 잠금 유형입니다. 이 경우 참여하는 프로세스는 명시적으로 잠금을 획득하여 서로 협력합니다. 이것이 가능하지 않으면 권고 잠금이 무시됩니다.
필수 잠금: 필수 잠금의 경우 운영 체제는 다른 프로세스가 파일을 읽거나 쓰는 것을 방지하여 파일 잠금을 강제 실행합니다. 이것은 프로세스 간의 협력을 필요로 하지 않습니다.
필수 잠금은 참여하는 프로세스 간의 협력이 필요하지 않습니다. 파일에 대한 필수 잠금이 활성화되면 운영 체제는 다른 프로세스가 파일을 읽거나 쓰는 것을 방지합니다.