#include #include #include #include #include #include int main(int argc, char* argv[]){ int i; int fd, pid; fd = open("lockf.c", O_RDONLY); fflush(NULL); srand(time(NULL)); for(i = 0; i<6; i++){ pid = fork(); if(pid>0) continue; if(pid==0){ printf("try to lock %d\n", getpid()); lockf(fd, F_LOCK, 0); printf("got lock %d\n", getpid()); sleep(2); lockf(fd, F_ULOCK, 0); exit(0); } } wait(NULL); return 0; }