2012-01-11 4 views
4

디렉토리에서 flock 또는 lockf가 작동합니까? 내가 리눅스 머신에서 C로 디렉토리를 잠그는 또 다른 방법은 없을까? 즉 당신이 그것에 쓰기 잠금을 얻을 수 없음을 의미하므로리눅스 머신에서 C로 디렉토리를 잠글 수있는 방법

+0

자물쇠가 무슨 뜻인지 정의해야합니다. –

+1

디렉토리를 읽기 전용으로 설정하십시오. 그것은 "잠긴"디렉토리의 개념에 가장 가깝게 보인다. –

+1

왜 디렉토리를 잠그고 싶습니까? –

답변

1

은 예, 파일/디렉토리에 무리를 사용하는 방법에 대한 자세한 정보는

4

당신은 쓰기를위한 디렉토리를 열 수 없습니다 here을 찾을 수 있습니다.

flockfcntl 및 다른 종류의 POSIX 잠금은 권장 사항이므로 잠금을 존중하지 않는 소프트웨어가 작업을 수행하는 것을 실제로 방지하지는 않습니다.

어쩌면 전체 파일 시스템을 잠그는 xfs_freeze과 같은 것을보고 싶을 것입니다. 그래도 유스 케이스에는 유용하지 않을 것이다.

+0

당신은 배타적 잠금을 얻기 위해 쓰기 위해 열 필요가 없습니다 : $에서 mkdir의 testdir $ testdir에 -c '에코 foo는'O_RDONLY 개방 ... ("testdir에"무리 strace를 | O_CREAT | O_NOCTTY을, 0356) = -1 EISDIR (디렉토리 임) open ("testdir", O_RDONLY | O_NOCTTY) = 3 ... –

+1

flock 스타일의 잠금 . 'fcntl' 스타일 잠금의 경우 쓰기 잠금을 요청하려면 쓰기 권한이 필요합니다. – Celada

관련 문제