lockf(8) System Manager's Manual lockf(8)NAME
lockf - lock files from within shell-scripts (used by sn news system)
SYNOPSIS
lockf
DESCRIPTION
lockf can be used to lock files from within shell-scripts. Filedescriptor 3 is always locked, and the lock remains until the process is
killed. The process-id is written to standard output, as to facilitate killing the process.
It is used by the sn news system.
SEE ALSO sn(8)lockf(8)
Check Out this Related Man Page
LOCKF(3) Linux Programmer's Manual LOCKF(3)NAME
lockf - apply, test or remove a POSIX lock on an open file
SYNOPSIS
#include <unistd.h>
int lockf(int fd, int cmd, off_t len);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
lockf():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
DESCRIPTION
Apply, test or remove a POSIX lock on a section of an open file. The file is specified by fd, a file descriptor open for writing, the
action by cmd, and the section consists of byte positions pos..pos+len-1 if len is positive, and pos-len..pos-1 if len is negative, where
pos is the current file position, and if len is zero, the section extends from the current file position to infinity, encompassing the
present and future end-of-file positions. In all cases, the section may extend past current end-of-file.
On Linux, lockf() is just an interface on top of fcntl(2) locking. Many other systems implement lockf() in this way, but note that
POSIX.1-2001 leaves the relationship between lockf() and fcntl(2) locks unspecified. A portable application should probably avoid mixing
calls to these interfaces.
Valid operations are given below:
F_LOCK Set an exclusive lock on the specified section of the file. If (part of) this section is already locked, the call blocks until the
previous lock is released. If this section overlaps an earlier locked section, both are merged. File locks are released as soon as
the process holding the locks closes some file descriptor for the file. A child process does not inherit these locks.
F_TLOCK
Same as F_LOCK but the call never blocks and returns an error instead if the file is already locked.
F_ULOCK
Unlock the indicated section of the file. This may cause a locked section to be split into two locked sections.
F_TEST Test the lock: return 0 if the specified section is unlocked or locked by this process; return -1, set errno to EAGAIN (EACCES on
some other systems), if another process holds a lock.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
ERRORS
EACCES or EAGAIN
The file is locked and F_TLOCK or F_TEST was specified, or the operation is prohibited because the file has been memory-mapped by
another process.
EBADF fd is not an open file descriptor.
EDEADLK
The command was T_LOCK and this lock operation would cause a deadlock.
EINVAL An invalid operation was specified in fd.
ENOLCK Too many segment locks open, lock table is full.
CONFORMING TO
SVr4, POSIX.1-2001.
SEE ALSO fcntl(2), flock(2)
There are also locks.txt and mandatory-locking.txt in the kernel source directory Documentation/filesystems. (On older kernels, these
files are directly under the Documentation/ directory, and mandatory-locking.txt is called mandatory.txt.)
COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
GNU 2010-09-20 LOCKF(3)
I have a huge matrix file containing some 1.5 million rows and 6000 columns. The matrix looks something like this:
1 2 3
4 5 6
7 8 9
3 4 5
I want to add all the numbers in the columns of this matrix and display the result to my stdout. This means that the numbers in the first column are:
... (2 Replies)
Hi,
Just trying to get to grips with sed and awk for some reporting for work and I need some assistance:
I have a file that lists policy names on the first line and then on the second line whether the policy is active or not.
Policy Name: Policy1
Active: yes
Policy... (8 Replies)
version info :
vi availabe with RHEL 5.4
I have a text file with 10,000 lines. I want to copy lines from 5000th line to 7000th and redirect to a file. Any idea how I can do this?
Note:
The above scenario is just an example. In my actual requirement, the file has 14 million lines and I want... (9 Replies)
Hi everyone,
I know the following questions are noobish questions but I am asking them because I am confused about the basics of history behind UNIX and LINUX.
Ok onto business, my questions are-:
Was/Is UNIX ever an open source operating system ?
If UNIX was... (21 Replies)
Hello,
I couldn't find an actual introduction thread, so I decided to just put this here.
I go by d0wngrade online. I have been programming in multiple languages for about 15+ years. I started with standard web design languages like HTML and CSS, but I then advanced from design to development... (2 Replies)
Hi guys...
The first active code line in AudioScope.sh is set -u .
This causes a complete exit if a variable is used/found but has not been allocated at the start of the program.
However, apart from writing code to do the task, is there a switch to to check which variables have been... (17 Replies)
Hi.
In thread https://www.unix.com/shell-programming-and-scripting/267833-grouping-counting.html rovf and I had a mini-discussion on grep and awk.
Here is a demo script that compares the awk and grep approaches for this single problem:
#!/usr/bin/env bash
# @(#) s2 Demonstrate group... (1 Reply)
Hello,
I have to fish out some specific columns from a file based on the header value. I have the list of columns I need in a different file. I thought I could read in the list of headers I need,
# file with header names of required columns in required order
headers_file=$2
# read contents... (11 Replies)
For those interested in installing dash shell on OSX Lion to help test POSIX compliancy of shell scripts, it is quite easy. I did it like this:
If you don't have gcc on your system:
0. Download and install the Command Line Tools for Xcode package from Sign In - Apple *
1. Download the dash... (2 Replies)
Hello and thanks in advance for any help anyone can offer me
I'm trying to learn the find command and thought I was understanding it... Apparently I was wrong. I was doing compound searches and I started getting weird results with the -size test. I was trying to do a search on a 1G file owned by... (14 Replies)
I have data of an excel files as given below,
file1
org1_1 1 1 2.5 100
org1_2 1 2 5.5 98
org1_3 1 3 7.2 88
file2
org2_1 1 1 2.5 100
org2_2 1 2 5.5 56
org2_3 1 3 7.2 70
I have multiple excel files as above shown.
I have to copy column 1, column 4 and paste into a new excel file as... (26 Replies)
Dear All,
Taking a break from Vue.js coding for the site, SEO and YT videos; and hopefully addressing some well deserved criticism from some here that I have been too focused on the visual aspects of the forums versus the substance and the community....
While the "current generation... (9 Replies)
Hi all...
Well guys and gals, I jumped in at the deep end and found things that PERL cannot do by default.
Many tricky terminal escape codes are not catered for so I had to create workarounds.
One thing I searched for was this:
Passing perl variable to shell command
AND, @Neo this was... (15 Replies)