[알려주세요ㅠㅠ] 여러 프로세스들이 하나의 파일을공유할때???
글쓴이: dorijjang / 작성시간: 월, 2004/08/30 - 11:50오전
제가 하고자하는 프로그램은
여러 프로세스들이 각기 다른 번호를 할당받아야 하는데요
즉,
프로세스1은 1~5번까지
프로세스2은 6~10번까지
프로세스3은 11~20번까지
....
....
프로세스50은 95~100번까지
이런식으로 각각의 프로세스들이 중복없이 해당하는 번호대를
순서적으로 할당받아야합니다.
그래서 하나의 파일에 이런 순서를 기록하는 방식으로
프로세스 1이 파일을 읽고(1을 읽고) 쓰고(5를 쓰고) 그리고
다음
프로세스 2가 파일을 읽고(6을 읽고) 쓰고 (10를 쓰고)
이런식으로 구현을 할려고 생각중인데...
이렇게 구현할려다보니...
여러프로세스가 한 파일을 건드리게 되는경우,
한 프로세스가 쓸때 다른 프로세스가 못 읽게 해야 되자나요?
그럴때 어떤 방법이 없나요??
세마포어, fcntl 레코드잠금 등등 여러 방법을 생각해 보았는데...
답이 안나오네요? 어떤 방법이 있을까요?
Forums:
답을 다 알고 계신 것 같은데 왜 답이 나오질 않는 건지 잘 모르겠네요.
답을 다 알고 계신 것 같은데 왜 답이 나오질 않는 건지 잘 모르겠네요. :-)
record locking이 그나마 좀 편하고 쓸만할 것 같다는 생각이 듭니다만..
레코드 락 쓰시면 될것 같네요.man lockfF_TLOC
레코드 락 쓰시면 될것 같네요.
man lockf
F_TLOCK
------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.
Re: [알려주세요ㅠㅠ] 여러 프로세스들이 하나의 파일을공유할때
이런 목적이라면 프로그램의 첫번째 인자로 시작 숫자를 받게 하고
이런 식으로(물론 for문 돌려서요) 스크립트 돌리는게 훨씬 편하지 않을까요?
아니면 하나의 프로세스에서 20개의 프로세스를 포크하고 그때 전역변수에 시작 번호를 적어둬도 될테고... 이건 좀 아니군요.
레코드락이 불편하시면 다른 방법도 한번 고려해보세요~
댓글 달기