클러스터를 사용하면 기다리지 않고 즉시 종료됩니다.

클러스터를 사용하면 기다리지 않고 즉시 종료됩니다.

-n나는 오랫동안 국기의 의미에 대해 혼란스러워했다 flock(1).

기본적으로 이 도구에 대한 많은 가이드가 있는데, 우리가 자주 보는 것은 다음과 같습니다 flock -n 100. 여기에서 fd 번호 100은 특정 잠금 파일과 연결되어 잠금을 수행하는 데 사용됩니다.

몇 가지 간단한 테스트를 수행하면 flock즉시 실패하고 종료되기 때문에 오늘 혼란스러웠습니다.

-n플래그는 정확히 무엇을 하는가 flock? -n 100파일 설명자 번호 100을 잠긴 파일과 연결하는 것이 맞습니까 ?

답변1

내가 오해하고 위험한 가정을 했다는 것을 깨닫는 데는 오랜 시간이 걸렸습니다. 파일 설명자 번호를 설정하는 플래그인 -n 100fd 100을 지정하기 위해 호출하는 것을 보면 알 수 있습니다 . -n그러나 실제로는 그렇지 않습니다.

-n비차단에 사용되는 이 플래그는 잠금이 실패할 경우 즉시 실패를 발생시킵니다. 에서 man flock:

-n, --nb, --nonblock

즉시 잠금을 얻을 수 없으면 기다리지 말고 실패하세요. 사용된 종료 상태는 -E 옵션을 참조하세요.

일반 숫자가 주어지면 fd로 처리되는 것 같습니다. 이것은 분명하지 않습니다.

관련 정보