Sponsored Content
Full Discussion: File Locking
Top Forums UNIX for Advanced & Expert Users File Locking Post 69079 by Perderabo on Monday 11th of April 2005 12:47:32 PM
Old 04-11-2005
This depends on a lot things. If the processes both opened the file in append mode and really are doing write's, it should work ok. Multiple processes can all write to a common log file this way. Without append mode, they may step on each other. Your thread title mentions file locking. If the processes are using file locking correctly they cannot simultaneously write. If a process has a manditory lock on a file region, another non-root process will block if it attempts a write on that region. Advisory locks can be ignored. "man lockf" should give you more info about file locking.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

ftp file locking

I have a set of scripts to do software releases to remote machines which uses ftp. I'm having a problem getting 'lost connection' messages. What I wanted to ask is, does ftp employ some sort of file locking if two ftp processes are trying to copy the same file at the same time? & if so could... (2 Replies)
Discussion started by: Kevin Pryke
2 Replies

2. UNIX for Dummies Questions & Answers

file locking question

Hi, Simple question but I just need to confirm the answer: If two or more processes attempt to move the same file at exactly the same time, will unix internal file locking allow only one of the processes to access the file? Many thanks Helen :) (2 Replies)
Discussion started by: Bab00shka
2 Replies

3. UNIX for Dummies Questions & Answers

File Locking in Unix

Hi I would like to lock a file using korn Shell Script before coping the contents of the file. Do let me know Thanks in Advance. Senone (3 Replies)
Discussion started by: senone
3 Replies

4. UNIX for Dummies Questions & Answers

Locking a file in ksh

We want to lock a file, during a program(pgm1) execution(until the execution of the program is completed), so that other program(pgm2) can't read/edit that file, until execution of earlier program(pgm1) is completed. How can this be achieved thru shell scripting... we tried chmod +l option, but... (1 Reply)
Discussion started by: thanuman
1 Replies

5. UNIX for Dummies Questions & Answers

file locking

how do i implement file locking in unix? example if i want to update a file, i would like to use file locking. how do i implement it? i am using shell script thanks (3 Replies)
Discussion started by: yang
3 Replies

6. UNIX for Dummies Questions & Answers

how to do file locking?

how to ensure all files are being locked while updateing some files? example when i want to update the password and shadow file in unix. how do i implement file locking?? please advice thanks (2 Replies)
Discussion started by: yang
2 Replies

7. UNIX for Advanced & Expert Users

File locking

i am working on a device runnin on linux....i have configured the samba server in the device such that my windows PC can access a shared folder in the device. Also in the device i am runnin some programs which access the files in this shared folder. What i want to know is whether there is any way i... (1 Reply)
Discussion started by: abhinx
1 Replies

8. Solaris

Help with set GID File Locking

Hello, I ls -al to see the permission of a file and there is 1 file have strange permission. It's a "l" instead of "x". -rwxr-lr-x 1 root other 24905 Jan 11 2007 /etc/vx/isis/Registry.pre-ddlpro -rw-r-lr-- 1 root root 0 Jan 6 43:25... (2 Replies)
Discussion started by: Smith
2 Replies

9. UNIX for Advanced & Expert Users

NFS4 locking file question

All, Just wondering if someone has a file open on client A for writing and it is locked, is that file still readable from client A or B? Basically I'm just wanting to know if a file is opened already, can it still be opened for read only? (1 Reply)
Discussion started by: markdjones82
1 Replies

10. Emergency UNIX and Linux Support

Perl NFS file locking

Got a weird problem. I have a user that inherited a data processing system written in Perl. The system consists of about 150 Perl scripts and about 40 Fortran executables. The system had been working fine until recently, when I changed our file server configuration. First the system... (2 Replies)
Discussion started by: ccj4467
2 Replies
MLOCK(2)						      BSD System Calls Manual							  MLOCK(2)

NAME
mlock, munlock -- lock (unlock) physical pages in memory LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/mman.h> int mlock(const void *addr, size_t len); int munlock(const void *addr, size_t len); DESCRIPTION
The mlock() system call locks into memory the physical pages associated with the virtual address range starting at addr for len bytes. The munlock() system call unlocks pages previously locked by one or more mlock() calls. For both, the addr argument should be aligned to a mul- tiple of the page size. If the len argument is not a multiple of the page size, it will be rounded up to be so. The entire range must be allocated. After an mlock() system call, the indicated pages will cause neither a non-resident page nor address-translation fault until they are unlocked. They may still cause protection-violation faults or TLB-miss faults on architectures with software-managed TLBs. The physical pages remain in memory until all locked mappings for the pages are removed. Multiple processes may have the same physical pages locked via their own virtual address mappings. A single process may likewise have pages multiply-locked via different virtual mappings of the same pages or via nested mlock() calls on the same address range. Unlocking is performed explicitly by munlock() or implicitly by a call to munmap() which deallocates the unmapped address range. Locked mappings are not inherited by the child process after a fork(2). Since physical memory is a potentially scarce resource, processes are limited in how much they can lock down. The amount of memory that a single process can mlock() is limited by both the per-process RLIMIT_MEMLOCK resource limit and the system-wide ``wired pages'' limit vm.max_wired. vm.max_wired applies to the system as a whole, so the amount available to a single process at any given time is the difference between vm.max_wired and vm.stats.vm.v_wire_count. If security.bsd.unprivileged_mlock is set to 0 these calls are only available to the super-user. RETURN VALUES
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error. If the call succeeds, all pages in the range become locked (unlocked); otherwise the locked status of all pages in the range remains unchanged. ERRORS
The mlock() system call will fail if: [EPERM] security.bsd.unprivileged_mlock is set to 0 and the caller is not the super-user. [EINVAL] The address given is not page aligned or the length is negative. [EAGAIN] Locking the indicated range would exceed the system limit for locked memory. [ENOMEM] Some portion of the indicated address range is not allocated. There was an error faulting/mapping a page. Locking the indicated range would exceed the per-process limit for locked memory. The munlock() system call will fail if: [EPERM] security.bsd.unprivileged_mlock is set to 0 and the caller is not the super-user. [EINVAL] The address given is not page aligned or the length is negative. [ENOMEM] Some or all of the address range specified by the addr and len arguments does not correspond to valid mapped pages in the address space of the process. [ENOMEM] Locking the pages mapped by the specified range would exceed a limit on the amount of memory that the process may lock. SEE ALSO
fork(2), mincore(2), minherit(2), mlockall(2), mmap(2), munlockall(2), munmap(2), setrlimit(2), getpagesize(3) HISTORY
The mlock() and munlock() system calls first appeared in 4.4BSD. BUGS
Allocating too much wired memory can lead to a memory-allocation deadlock which requires a reboot to recover from. The per-process resource limit is a limit on the amount of virtual memory locked, while the system-wide limit is for the number of locked physical pages. Hence a process with two distinct locked mappings of the same physical page counts as 2 pages against the per-process limit and as only a single page in the system limit. The per-process resource limit is not currently supported. BSD
May 17, 2014 BSD
All times are GMT -4. The time now is 10:31 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy