08-17-2013
Quote:
Originally Posted by
RudiC
Why do you suspect a process holding a file open when your list is empty?
If there are open files, there must be process(es) on the local side holding the files open; it might be children (or so) of the NFS daemon. Did you check the NFS log files?
I suspect a process holding a file open because the directory has a .nfs################# (the #'s are random numbers) file in it and won't let me delete it because the file is in use.
My understanding was that using the lsof or fuser commands would let me see what process has that directory/file open.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello ,
I want to get current system open file table value. Can any one help.
Thanking you,
mahesh (0 Replies)
Discussion started by: mahesh.
0 Replies
2. UNIX for Dummies Questions & Answers
Hi,
I have here a hard drive from a computer that was damaged, and now the costumer needs the data on the hard drive, but doesn't have any other computer to read data.
I don't really know what file system is on the disk.
How can I find out what file system is on the disk so I can read the... (4 Replies)
Discussion started by: dmarques
4 Replies
3. UNIX for Dummies Questions & Answers
Hi,
when I run sfdisk -l get:
Disk /dev/sda: 19452 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 * 0+ 12 13- 104391 83 Linux... (1 Reply)
Discussion started by: mojoman
1 Replies
4. Solaris
Hi Experts,
I was asked to find most busy file system on one of the server. It is Sun 10. Any idea to get this?
Thanks,
Deepak (5 Replies)
Discussion started by: naw_deepak
5 Replies
5. Shell Programming and Scripting
I had issues with processes locking up. This script checks for processes and kills them if they are older than a certain time.
Its uses some functions you'll need to define or remove, like slog() which I use for logging, and is_running() which checks if this script is already running so you can... (0 Replies)
Discussion started by: sukerman
0 Replies
6. UNIX for Advanced & Expert Users
Is there some way to tell what processes are attached to a shared memory segment? We have a system on which I perform "icps -ma" and there are several segments pending deletion having numerous processes attached to them and I can't tell what processes they are. Neither the creator's pid nor last... (7 Replies)
Discussion started by: DreamWarrior
7 Replies
7. Shell Programming and Scripting
When I run 'top' command,I see the following
Memory: 32G real, 12G free, 96G swap free
Though it shows as 12G free,I am not able to account for processes that consume the rest 20G.
In my understanding some process should be consuming atleast 15-16 G but I am not able to find them.
Is... (1 Reply)
Discussion started by: prasperl
1 Replies
8. Shell Programming and Scripting
The end result that I'd like is to terminate any process on my ps -u username list that extends beyond 20 minutes. I know for a fact that this process will be named l.exe, but I don't know the number in between and I won't know the PID. Is there a way to use grep or pidof to do this task every 20... (2 Replies)
Discussion started by: Bolanok
2 Replies
9. UNIX for Dummies Questions & Answers
Platform: Oracle Linux 6.4
To find the most memory consuming processes, I tried the following 2 methods
1. Method1
# ps aux | head -1 ; ps aux | sort -nk +4 | tail -7
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 95 0.0 0.0 0 0 ? ... (2 Replies)
Discussion started by: kraljic
2 Replies
10. Solaris
Hi all,
q1) If i am in a global-zone, is there any command or anyway to check if a particular process in "ps -ef" output is running in which zone ?
q2) if i have created and mount a lofs filesystem/mountpoint for my non-global zone, can i say the following
e.g.
/dev/md/dsk/d60 /data --... (1 Reply)
Discussion started by: javanoob
1 Replies
fuser(2) System Calls Manual fuser(2)
NAME
fuser - Reports PIDs and UIDs for files, file systems and/or the devices attached to them.
SYNOPSIS
#include <sys/fuser.h>
int fuser(
char *file,
long flag,
struct f_user fuser_array[],
long sizeof_fuser_array );
PARAMETERS
Specifies the file name. Specifies one of the following values. If none of the following are values are specified, the default is to
match open files. Matches only file ids. Provides mount point matching. Matches deleted files on the mount point specified by file.
Specifies the array. Specifies the number of elements in the fuser array.
DESCRIPTION
The fuser function reports a list of PIDs and UIDs that are associated with a specified file, file system, and/or the devices that are
attached to them.
The fuser function can report back additional information about "matches" by ORing one of the following constants that can be passed back
in the member fu_flags: Current directory Current directory Parent of the current directory At least one file open, but the number open is
not known. Executable image. Controlling terminal Trace At least one file is mmapped
RETURN VALUES
On success, the fuser function returns the number of fuser_array elements that were found. The contents of the structure are as follows:
typedef struct f_user {
pid_t fu_pid;
int fu_flags;
uid_t fu_uid; } f_user_t;
If an error has occurred, the fuser function returns -1 and sets errno to indicate the error.
ERRORS
If the fuser function fails, errno may be set to one of the following values: The array is not large enough to hold the number of array
elements returned or the array structure cannot be filled The file parameter specified does not exist
EXAMPLES
Open regular files and special files are matched using the flag parameter set at 0L. Thus, if process 127 and 3220 open the /home/try file
simultaneously and the fuser function is active, the PIDs and UIDs associated with the home/try file are reported as in the following exam-
ple:
fuser("/home/try", 0L, fuser_array,
(long) (sizeof (fuser_array)/sizeof(fuser_array[0])); Similarly, if the special device file /dev/ttyp2 is open by process 32,
then that PID and its associated UID are reported as in the following example:
fuser("/dev/ttyp2", 0L, fuser_array,
(long) (sizeof (fuser_array)/sizeof(fuser_array[0]));
fuser(2)