This might work if the editor in question is indeed holding open the file. Most times this is perhaps the case but if i remember correctly some editors create a temporary file, work on this tempfile and only finally overwrite the original with the changed copy destroying the temp. In this (admittedly - probaby quite rare -) case one wouldn't see that in fuser.
I suppose there is no 100% sure method for this and using fuser is IMHO as close as it gets. But if you already know which editor(s) you want/need to deal with you could put a PID-file or some other marker somewhere and hold other processing as long as the marker remains.
Hi,
I unable to open any file using Vi editor,constantly getting the following error,
vi log.log
*** glibc detected *** malloc(): memory corruption: 0x081af510 **
uname -a
Linux sekac092 2.6.5-7.244-bigsmp #1 SMP Mon Dec 12 18:32:25 UTC 2005 i686 athlon i386 GNU/Linux
Also Note
ls... (8 Replies)
Hi all,
I have a shell script that i started editing, only in the midst of which i tried to save the changes i found that the file wasnt been provided with write/execute permissions.
I later have redone the changes and saved the file-
Just curious to know if there was any command wherein... (5 Replies)
helo
I install my product for koren language
I m uisng RHEL -4 operating system
now problem is whenever I open any file
vi filename
I got following error on the screen
E557: Cannot open termcap file
'vt100' not known. Available builtin terminals are:
builtin_ansi
... (1 Reply)
i have following query
e.g i want the VI Editor cursor at line number N instead of 0 while opening the file from unix prompt.
vi filename ??????
Can anyone help? (4 Replies)
Hi Everyone,
# cat a.txt
94,aqqc,62345907,
5,aeec,77,
# cat 1.pl
#!/usr/bin/perl
use strict;
use warnings;
use Date::Manip;
open(my $FA, "/root/a.txt") or die "$!";
while(<$FA>) {
chomp;
my @tmp=split(/\,/, $_);
if (index($tmp, "qq") ne -1) {
... (4 Replies)
I know how to check if any file has a unix process using a file by looking at 'lsof <fullpath/filename>' command.
I think using lsof is very expensive. Also to make it accurate we need to inlcude fullpath of the file.
Is there another command that can tell if a file has a truely active... (12 Replies)
Hi,
I would like to ask about the notepad++ text editor application, Although there are alternative and more great text editor in linux (gedit, geany, jedit) im still using the notepad++ sometimes cause for some of my own reason one of those is the minimalist text(what i mean is notepad++ has a... (2 Replies)
vi: syntax error at line 1: `)' unexpected
when I try to vi into the /etc/vfstab, the return gives me the above error.
how can resolve this so that I can have access into vi. (6 Replies)
Hi,
I am facing a problem regarding .csv file, my script does not read .csv file and if i open this file in vi editor and perform :wq option then only my script reads the .csv file.
Thanks (5 Replies)
Hello Experts,
I need to write a shell script to check if a file is open and something is being written to it. I want to know how OS handles it. I checked with lsof command but it is not working. For a test I did this.
while true; do echo `date` >>abc.txt; done
then I checked
lsof |... (5 Replies)
Discussion started by: shekhar_4_u
5 Replies
LEARN ABOUT FREEBSD
fuser
FUSER(1) BSD General Commands Manual FUSER(1)NAME
fuser -- list IDs of all processes that have one or more files open
SYNOPSIS
fuser [-cfkmu] [-M core] [-N system] [-s signal] file ...
DESCRIPTION
The fuser utility writes to stdout the PIDs of processes that have one or more named files open. For block and character special devices,
all processes using files on that device are listed. A file is considered open by a process if it was explicitly opened, is the working
directory, root directory, jail root directory, active executable text, kernel trace file or the controlling terminal of the process. If -m
option is specified, the fuser utility will also look through mmapped files.
The following options are available:
-c Treat files as mount point and report on any files open in the file system.
-f The report must be only for named files.
-k Send signal to reported processes (SIGKILL by default).
-m Search through mmapped files too.
-u Write the user name associated with each process to stderr.
-M Extract values associated with the name list from the specified core instead of the default /dev/kmem.
-N Extract the name list from the specified system instead of the default, which is the kernel image the system has booted from.
-s Use given signal name instead of default SIGKILL.
The following symbols, written to stderr will indicate how files is used:
r The file is the root directory of the process.
c The file is the current workdir directory of the process.
j The file is the jail-root of the process.
t The file is the kernel tracing file for the process.
x The file is executable text of the process.
y The process use this file as its controlling tty.
m The file is mmapped.
w The file is open for writing.
a The file is open as append only (O_APPEND was specified).
d The process bypasses fs cache while writing to this file (O_DIRECT was specified).
s Shared lock is hold.
e Exclusive lock is hold.
EXIT STATUS
The fuser utility returns 0 on successful completion and >0 otherwise.
EXAMPLES
The command: ``fuser -fu .'' writes to standard output the process IDs of processes that are using the current directory and writes to stderr
an indication of how those processes are using the directory and user names associated with the processes that are using this directory.
SEE ALSO fstat(1), ps(1), systat(1), iostat(8), pstat(8), vmstat(8)STANDARDS
The fuser utility is expected to conform to IEEE Std 1003.1-2004 (``POSIX.1'').
HISTORY
The fuser utility appeared in FreeBSD 9.0.
AUTHORS
The fuser utility and this manual page was written by Stanislav Sedov <stas@FreeBSD.org>.
BUGS
Since fuser takes a snapshot of the system, it is only correct for a very short period of time. When working via kvm(3) interface the report
will be limited to filesystems the fuser utility knows about (currently only cd9660, devfs, nfs, ntfs, nwfs, udf, ufs and zfs).
BSD May 13, 2011 BSD